http解码-4

http://www.360doc.com/content/11/1223/16/2150778_174499703.shtml

(1) 网址路径的编码,用的是utf-8编码

(2),查询字符串的编码,用的是操作系统的默认编码

(3)GET和POST方法的编码,用的是网页的编码

(4)在Ajax调用中,IE总是采用GB2312编码(操作系统的默认编码),而Firefox总是采用utf-8编码

 

(5)

Javascript语言用于编码的函数,一共有三个

<1> escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值。比如“春节”的返回结果是%u6625%u8282,也就是说在Unicode字符集中,“春”是第6625个(十六进制)字符,“节”是第8282个(十六进制)字符。具体规则是,除了ASCII字母、数字、标点符号“@ * _ + - . /”以外,对其他所有字符进行编码。在\u0000到\u00ff之间的符号被转成%xx的形式,其余符号被转成%uxxxx的形式。对应的解码函数是unescape()

 

<2>

 encodeURI()是Javascript中真正用来对URL编码的函数。

  它着眼于对整个URL进行编码,因此除了常见的符号以外,对其他一些在网址中有特殊含义的符号“; / ? : @ & = + $ , #”,也不进行编码。编码后,它输出符号的utf-8形式,并且在每个字节前加上%

<3>

encodeURIComponent()。与encodeURI()的区别是,它用于对URL的组成部分进行个别编码,而不用于对整个URL进行编码。

  因此,“; / ? : @ & = + $ , #”,这些在encodeURI()中不被编码的符号,在encodeURIComponent()中统统会被编码。至于具体的编码方法,两者是一样

posted @ 2014-07-10 14:35  w_s_xin  阅读(171)  评论(0编辑  收藏  举报