javascript中可用的编码解码函数,有如下的组合:
2013-05-08 19:44
423 查看
javascript中可用的编码解码函数,有如下的组合:
escape(string);
unescape(string);
encodeURI(string);
decodeURI(string);
encodeURIComponent(string);
decodeURIComponent(string);
他们之间的区别为:
escape/unescape:
以16进制编码字符串,对空格、符号等字符用%xx编码表示,对中文等字符用%uxxxx编码表示。自javascript1.5之后,此方法已经不被推荐使用。
encodeURI/decodeURI:
以UTF-8编码编码字符串,对这些字符:“ ; , / ? : @ & = + $ ”不做编码。
encodeURIComponent/decodeURIComponent:
以UTF-8编码编码所有字符串。
因为escape/unescape已经deprecated。就不说它了,encodeURI和encodeURIComponent之前的区别用实例说明:
比如说要使用get方式将一个参数u,传递给服务器:
var u="index.php?blogId=1&op=Default";
var getURL="http://www.simplelife.cn/test.php?p="+encodeURI(u);
这里,如果使用了encodeURI,那么最终的getURL的值为:
http://www.simplelife.cn/test.php?p=index.php?blogId=1&op=Default
这样,对参数u中的字符"&op=Default",将不会作为字符串参数传递到服务器端,而是当作test.php的参数传递过去了,因为对"&op=Default"中的字符"&"没有做编码。
所以,在这种应用场景下,就需要使用encodeURIComponent,编码后的getURL值为:
http://www.simplelife.cn/test.php?p=index.php%3FblogId%3D1%26op%3DDefault
这样,参数就可以顺利传递过去了。在服务器端得到的字符串将是正确的u。
反之,如果需要通过get方式访问某一URL,但是URL中包含中文等字符,为了防止乱码等编码问题,需要将URL通过encodeURI进行编码。
escape(string);
unescape(string);
encodeURI(string);
decodeURI(string);
encodeURIComponent(string);
decodeURIComponent(string);
他们之间的区别为:
escape/unescape:
以16进制编码字符串,对空格、符号等字符用%xx编码表示,对中文等字符用%uxxxx编码表示。自javascript1.5之后,此方法已经不被推荐使用。
encodeURI/decodeURI:
以UTF-8编码编码字符串,对这些字符:“ ; , / ? : @ & = + $ ”不做编码。
encodeURIComponent/decodeURIComponent:
以UTF-8编码编码所有字符串。
因为escape/unescape已经deprecated。就不说它了,encodeURI和encodeURIComponent之前的区别用实例说明:
比如说要使用get方式将一个参数u,传递给服务器:
var u="index.php?blogId=1&op=Default";
var getURL="http://www.simplelife.cn/test.php?p="+encodeURI(u);
这里,如果使用了encodeURI,那么最终的getURL的值为:
http://www.simplelife.cn/test.php?p=index.php?blogId=1&op=Default
这样,对参数u中的字符"&op=Default",将不会作为字符串参数传递到服务器端,而是当作test.php的参数传递过去了,因为对"&op=Default"中的字符"&"没有做编码。
所以,在这种应用场景下,就需要使用encodeURIComponent,编码后的getURL值为:
http://www.simplelife.cn/test.php?p=index.php%3FblogId%3D1%26op%3DDefault
这样,参数就可以顺利传递过去了。在服务器端得到的字符串将是正确的u。
反之,如果需要通过get方式访问某一URL,但是URL中包含中文等字符,为了防止乱码等编码问题,需要将URL通过encodeURI进行编码。
相关文章推荐
- javascript中可用的编码解码函数
- JavaScript escape() 函数:编码;unescape() 函数:解码
- JavaScript中各种编码解码函数的区别和注意事项
- Javascript编码与解码函数
- JavaScript中各编码解码函数的区别和注意事项
- JavaScript中各种编码解码函数的区别和注意事项
- javascript URL 编码,解码函数
- javascript html编码解码函数
- JavaScript中各种编码解码函数的区别和注意事项
- js 语法规则 全局函数global 可以直接用 ;javascript的编码和解码;字符串转数字
- C#和JavaScript 进行参数的编码和解码
- javascript用escape编码后如何用php进行解码?
- php正确解码javascript中通过escape编码后的字符
- JavaScript字符集编码与解码
- Javascript编码解码方法(decodeURIComponent)
- javascript编码与解码
- js编码、解码函数介绍及其使用示例
- Python中还原JavaScript的escape函数编码后字符串的方法
- ASP编码和解码函数详解
- Delphi 的编码与解码(或叫加密与解密)函数