escape
会替换所有的非法字符,0xff以内的为%xx,超出的按照%uxxxx,所以只能编码BMP(basic multi panel)基本平面。
javascript已经不推荐使用此方法。
encodeURI
替换空格等等,url中的: // 都保留,汉字会编码为%xx%xx%xx,能编码超出BMP的字符
encodeURIComponent
替换所有非字母和数字字符,url中的: // ? 空格,都会被编码。所以此方法一般用来编码url中的参数。
编码范围同encodeURI。
总结
综合来说,encodeURI一般用来编码url部分。encodeURIComponent用来编码参数部分。
比如,IT虾米网
IT虾米网部分,用encodeURI
xxxxx,用encodeURIComponent编码,尤其在参数值为一个url地址时,应该使用encodeURIComponent就更为迫切了。
在参数值不含有url地址的特殊字符时,encodeURI和encodeURIComponent就差不多了。
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/20310.html