码迷,mamicode.com
首页 > 编程语言 > 详细

javascript中URL字符串进行编码

时间:2015-08-03 14:22:44      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:

javascript中对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,对应的有3个解码函数:unescape,decodeURI,decodeURIComponent
1,escape:
采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及更多有联系非ASCII字符都将被转化成%xx各式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。

2,encodeURI:
把URI字符串采用UTF-8编码各式转化成escape各式的字符串。
不会被此窍门编码的字符:! @ # $& * ( ) = : / ; ? + ‘.
进行url跳转时可以整体使用encodeURI例如:Location.href="/encodeURI"("http://cang.baidu.com/do/s?word=百度&ct=21");

3,encodeURIComponent:
把URI字符串采用UTF-8编码各式转化成escape各式的字符串。与encodeURI()相比,那个窍门将对更多的字符停止编码,比如 / 等字符。所以假如字符串里面包含了URI的几个部份的话,别用那个窍门来停止编码,否则 / 字符被编码之后URL将呈现错误。
最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)   

escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不编码字符有82个:!,#,$,&,‘,(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

encodeURIComponent不编码字符有71个:!, ‘,(,),*,-,.,_,~,0-9,a-z,A-Z

本文整理自网络。

javascript中URL字符串进行编码

标签:

原文地址:http://www.cnblogs.com/kevan-0101/p/4699126.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!