JavaScript中的编码方法:
escape() 方法:
MSDN JScript Reference中如是说:
The escape method returns a string value (in Unicode format) that contains the contents of [the argument]. All spaces, punctuation, accented characters, and any other non-ASCII characters are replaced with %xx encoding, where xx is equivalent to the hexadecimal number representing the character. For example, a space is returned as "%20."
翻译如下:
escape()方法以Unicode格式返回一个包含传入参数内容的string类型的值。 escape()方法会将传入参数中所有的空格、标点符号、重音字符以及其它任何非ASCII字符替换为%xx的编码形式,其中xx与其所表示的字符的16进制数表示形式相同。如空格字符的16进制表示形式为0x20,则此时xx应为20,即escape('') 返回“%20”。
注:unescape()方法:解码用 escape 方法进行了编码的 String 对象。
unescape(charstring)
必选项 charstring 参数是要解码的 String 对象。
unescape 方法返回一个包含 charstring 内容的字符
串值。所有以%xx十六进制形式编码的字符都用ASCII字
符集中等价的字符代替。以%uxxxx格式(Unicode字符)
编码的字符用十六进制编码xxxx的Unicode字符代替。
encodeURI()方法:
MSDN JScript Reference中如是说:
The encodeURI method returns an encoded URI. If you pass the result to decodeURI, the original string is returned. The encodeURI method does not encode the following characters: ":", "/", ";", and "?". Use encodeURIComponent to encode these characters.
翻译如下:
encodeURI()方法返回一个经过编码的URI。如果将encodeURI()方法的编码结果()传递给decodeURI()方法作参数,则能得到原始的未编码的字符串。需要注意到是encodeURI方法不编码如下字符":", "/", ";", and "?"。如果想要编码这些字符,请使用encodeURIComponent方法。
encodeURIComponent()方法:
MSDN JScript Reference中如是说:
The encodeURIComponent method returns an encoded URI. If you pass the result to decodeURIComponent, the original string is returned. Because the encodeURIComponent method encodes all characters, be careful if the string represents a path such as /folder1/folder2/default.html. The slash characters will be encoded and will not be valid if sent as a request to a web server. Use the encodeURI method if the string contains more than a single URI component.
翻译如下:
encodeURIComponent()方法返回一个编码过的URI。如果将encodeURIComponent()方法的编码结果传递给encodeURIComponent()方法作参数,则能得到原始的未编码的字符串。因为encodeURIComponent()方法会编码所有的字符,所以如果待编码的字符串是用来表示一个路径(如/dir1/dir2/index.htm)时,就一定要小心使用了。‘/’符号会被其编码之后,将不再是一个有效的路径标识符,所以不能被web服务器正确地识别。当字符串包含一个单独的URI component(指?后面的请求参数)的时候,请使用此方法。
有什么区别,何时使用?
escape方法并不编码字符+。而我们知道,在用户提交的表单字段中,如果有空格,则会被转化为+字符,而服务器解析的时候则会认为+号代表空格。由于这个缺陷,escape方法并不能正确地处理所有的非ASCII字符,你应当尽量避免使用escape方法,取而代之,你最好选择encodeURIComponent()方法。escape()不编码的字符:@*/+
相对于使用escape方法,使用encodeURI方法会显得更专业一些。当你需要编码一整个URI的时候,你可以使用此方法,因为URI中的合法字符都不会被编码转换。需要注意到是字符’也是URI中的合法字符,所以也不会被编码转换。encodeURI() 不编码的字符: ~!@#$&*()=:/,;?+''
encodeURIComponent方法在编码单个URIComponent(指请求参数)应当是最常用的。需要注意到是字符’也是URI中的合法字符,所以也不会被编码转换。encodeURIComponent()不编码的字符: ~!*()''
分享到:
相关推荐
iconv-lite - 纯javascript转换字符编码
简介 Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个...当然,你也可以将图片、文本和音视频转换成二进制序列,再然后转换为Base64编码。我们这里讨论的是如何将二进制转换
Unicode 编码转换器;感觉很好用,推荐一下
主要介绍了Quoted-printable 编码介绍、Quoted-printable编码解码转换方法,需要的朋友可以参考下
易语言JS实现编码转换源码。@资源源码站。
javascript-obfuscatorJS编码器
易语言JS实现编码转换源码,JS实现编码转换,decodeURI,encodeURI
主要介绍了JavaScript转换二进制编码为ASCII码的方法,涉及javascript编码转换的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
JavaScript转换二进制编码为ASCII码的方法.docx
实现思路很简单,汉字有21个声母:b, p, m, f, d, t, n, l, g, k, h, j, q, x, zh, ch, sh, r, z, c, s 有韵母24个,其中单韵母有6个:a,...这就为对象枚举的实现提供了可能,结合unicode编码表,实现起来就很简单了。
用于日语编码的纯JavaScript Iconv。 此模块支持日语中常用的编码: Shift_JIS(CP932),ISO-2022-JP(-1),EUC-JP,UTF8,UNICODE(UCS2)转换。 纯Javascript,无需编译。 比快得多。 安装 $ npm install ...
encoding.js, 在JavaScript中,转换字符编码 encoding.js 在JavaScript中转换字符编码。README(Japanese)安装浏览器中的插件:[removed][removed]或者
简单的数值计算;常见的文本编辑操作(查找替换、大小写转换、压缩) escape编码(解码);... HTML代码和JavaScript之间的相互转换 字符(串)二、八、十、十六进制编码(解码) 直接运行HTML/JavaScript代码等~
本文实例讲述了JavaScript中字符串与Unicode编码互相转换的实现方法。分享给大家供大家参考,具体如下: 这段代码演示了JavaScript中字符串与Unicode编码的转换: // 为了控制台的演示方便, 变量没有添加 var 定义 /...
所以特地弄了个Unicode编码版,UTF8的内容是可以完美转换为Unicode的,所以不担心字符无法显示造成困扰!。目前只择取出取字节集,至于其他的懒得复制了,留给大家自行扩展当练手和熟悉易语言COM对象的规则!。核心...
base62.js, node.js的javascript Base62编码/解码器 Base62.js JavaScript Base62编码/解码器什么是Base62编码?Base62编码将数字转换为ASCII字符串( 0 -9,一个z 和一个z ),反之亦然,这通常会导致比较短的字符串...
JSON解析,我一直使用脚本对象:JavaScript这次开源的JSON解析特点是支持Unicode编码的内容解析!因为现在很多网站都使用UTF8编码了,转为ANSI再解析的话可能有些字符会无法显示,直接到文本又可能会解析失败!所以...
GPT-2 和 GPT-3 使用字节对编码将文本转换为一系列整数以输入模型。 这是 OpenAI 原始编码器/解码器的 javascript 实现。 使用说明: 1. 下载并解压; 2. 打开:使用 vs code 打开代码; 3. 安装依赖:在命令行中...
代码如下://把编码转换成 gb2312编码 function UrlEncode(str) { var i, c, ret=””, strSpecial=”!\”#$%&'()*+,/:;<=>?@[\]^`{|}~%”; for(i = 0; i < str.length; i++) { //alert(...