特殊字符简单编码

  1. 前端 js

    1. 编码 与 解码函数
      js对文字进行编码涉及3个函数:escape , encodeURI , encodeURIComponent,
                         相应3个解码函数:unescape, decodeURI, decodeURIComponent
      最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8 支持(form中的编码方式和当前页面编码方式相同)
    2. 调用方式
      escape(url) , encodeURI(url) , encodeURIComponent(url)
    3. 不编码字符
      • escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
      • encodeURI不编码字符有82个:!,#,$,&,‘,(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
      • encodeURIComponent不编码字符有71个:!, ‘,(,),*,-,.,_,~,0-9,a-z,A-Z
  2. 后台 client
    1. encode() 与 decode()
      方法在编写 client 端时,同样需要对 中文、空格等特殊字符进行编码,确保传输过程中信息正确。
      使用方法 URLEncoder.encode()与 URLDecoder.decode()
    2. 使用方式
        // 对URL进行编码   // 这里需要进行说明的点:在进行转义(编码)时,空格字符 " " 会转换为一个加号 “+”。在进行 解码时 ”+“ 不作处理。   // 故需要 replaceAll() 方法,将 ”+“ 改为 空格的 ASCII码 %20。
              String encodeData = "https://www.ceshi.com?cusname=" + URLEncoder.encode("张 三", "UTF-8").replaceAll("\\+", "%20");
              // 结果为:https://www.ceshi.com?cusname=%E5%BC%A0%20%E4%B8%89
              System.out.println(encodeData);
              // 对URL进行解码
              String decodeData = URLDecoder.decode(encodeData, "UTF-8");
              // 结果为:https://www.ceshi.com?cusname=张 三
              System.out.println(decodeData);
    3. 不编码字符
      字母数字字符 “a” 到 “z”、“A” 到 “Z” 和 “0” 到 “9” 保持不变。
      特殊字符 “.”、"-"、"*" 和 “_” 保持不变。
      注:
      所有其他字符都是不安全的,因此首先使用一些编码机制将它们转换为一个或多个字节。然后每个字节用一个包含 3 个字符的字符串 “%xy” 表示,其中 xy 为该字节的两位十六进制表示形式。
      推荐的编码机制是 UTF-8。但是,出于兼容性考虑,如果未指定一种编码,则使用相应平台的默认编码。

原文地址:https://www.cnblogs.com/zz-1q/p/10336329.html

时间: 2024-10-19 23:06:38

特殊字符简单编码的相关文章

网址URL中特殊字符转义编码

网址URL中特殊字符转义编码 字符    -    URL编码值 空格    -    %20 "          -    %22 #         -    %23 %        -    %25 &         -    %26 (          -    %28 )          -    %29 +         -    %2B ,          -    %2C /          -    %2F :          -    %3A ;  

PHP 汉字 特殊字符 UNICODE 编码 解码 高性能简洁实现方案

网上,针对汉字.特殊字符的UNICODE 编码.解码实现,方法诸多,但是大多是复制粘贴,没有新意! PHP UNICODE 汉字 编码: var_dump(json_encode('2018 ABC 我是中国人!网站:http://my.oschina.net/cart/')); 上述就实现了PHP中对汉字.特殊字符的 UNICODE 编码! 多么easy! 上面会输出: string(96) ""2018 ABC \u6211\u662f\u4e2d\u56fd\u4eba\uff0

HTML特殊字符—核心编码

HTML特殊字符编码 在分析HTML字节流或者源代码的时候需要对HTML特殊字符编码以及ASCII的知识有所了解才能避免跌入陷阱.一些所列举的都是HTML的一些规范和ASCII码的官方定义表.放到这里查看方便. 一.一些很重要的规范 下面这个图片是常用HTML中一些特殊字符的ASCII编码或者表示方式.有些字符并没有对应的ASCII码. 具体的相关编码也可以在W3C主页上查阅中文版链接如下 http://www.w3school.com.cn/tags/html_ref_ascii.asp 二.

一些项目——简单编码

Description 将一串文本译成密码,密码的规律是: 将原来的小写字母全部翻译成大写字母,大写字母全部翻译成小写字母,数字的翻译规律如下: 0-->9 1-->8 2-->7 3-->6 4-->5 5-->4 6-->3 7-->2 8-->1 9-->0 然后将所有字符的顺序颠倒. Input 输入一串文本,最大字符个数不超过100. Output 输出编码后的结果. Sample Input china Sample Output A

html里面特殊字符的编码

?  箭头类 ?  基本形状类 ¥  货币类 ?  数学类 ?  音乐符号类 ?  对错号 ★  全都是星星 ?  星座类 ?  国际象棋类 ?  扑克牌类 Ω  希腊字母 ?  十字   法律符号 @  标点和符号

C程序的简单编码和开发利用C-+

http://ishow.arting365.com/work/1231308/20141118 http://ishow.arting365.com/work/1231309/20141118 http://ishow.arting365.com/work/1231310/20141118 http://ishow.arting365.com/work/1231311/20141118 http://ishow.arting365.com/work/1231312/20141118 http:

简单编码解码学习

//淘宝IP地址库http://ip.taobao.com/accurancy.php string url = "http://ip.taobao.com/service/getIpInfo.php?ip=122.224.94.210"; string responseText = ""; System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest

JWT(JSON Web Token) Java与.Net简单编码实现

参考 JWT(JSON WEB TOKENS)-一种无状态的认证机制 基于Token的WEB后台认证机制 各种语言版本的基于HMAC-SHA256的base64加密 Java与.Net实现实现 // java HMacsha256 private static final String MAC_INSTANCE_NAME = "HMacSHA256"; public static String Hmacsha256(String secret, String message) thro

浅谈Python中的编码规则

注:本人用Python3.4作为学习版本,以下学习心得只适用于Python3.4. 之前拜读了金角大王Alex关于编码的解答,收获颇多.特此致谢,以下仅谈一谈作为一个初学者,对编码的理解. 我所了解的编码,大致分为两类:第一类是支持中文的编码集:第二类是支持英文的编码集.至于别国的编码集,暂且不做讨论. 常见编码:ASCII:Unicode:UTF-8:big5,:GB2312:GBK:GB18030 接下来,我对以上编码进行分类: 只支持英文和特殊字符的编码:ASCII ASCII是基于拉丁字