关于js里url的编解码方法
encodeURI---decodeURI:
用于编码完整的URI。
不编码字符有 82 个: ! , # , $ , & , ' , ( , ) , * , + ,,, - , . , / , : , ; , = , ? , @ , _ , ~ , 0-9 , a-z , A-Z 。
例:
var str0=encodeURI(http://www.cnblogs.com/ 2012/ 71.html);结果:http://www.cnblogs.com/%202012/%2071.html,只对空格进行了编码。
var url = “<a href=’” + encodeURI(“http://cancait.blog.163.com/name= 中国 ”) + “’> 中国 </a>”;
encodeURIComponent---decodeURIComponent:
用于编码URI的某一部分即对传递参数进行编码,它对URI中的所有非标准字符(除ASCII码以外的Unicode)进行utf-8编码。
不编码字符有 71 个: ! , ' , ( , ) , * , - , . , _ , ~ , 0-9 , a-z , A-Z 。
例:
var url = “<a href=’http://cancait.blog.163.com/name=” + encodeURIComponent(“ 中国 ”) + “’> 中国 </a>”;
escape:
对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。
escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z;
urlencode:urlencode是用于后端的的编码格式,和encodeURI是前端的,并且编码结果也不一致,为了验证这个看法,用键盘上的一些特殊符号进行编码比对,所以使用时要小心,并且解码最好要用相应的解码方法。

注:
1.对于post方式提交的,需用上述方法对参数或者url进行编码;
2.对于get方式提交的,content_type指定了相应的编码方式;
3.上述方法默认的编码是utf-8。
浙公网安备 33010602011771号