escape、encodeURI和encodeURIComponent的区别

1.escape escape是对字符串进行编码,不适用于URL。作用是让它们在所有电脑上可读。编码之后的效果是%XX或者%uXXXX这种形式。 其中 ASCII字母、数字、@*/+ ,这几个字符不会被编码,其余的都会。 注释:ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之。 2. encodeURI和encodeURIComponent 它们都是编码URL,唯一区别就是编码的字符范围,其中 encodeURI方法不会对下列字符编码 ASCII字母、数字、~!@#$&*()=:/,;?+' encodeURIComponent方法不会对下列字符编码 ASCII字母、数字、~!*()' 也就是encodeURIComponent编码的范围更广,会将http://XXX中的//也编码,会导致URL不可用。(其实java中的URLEncoder.encode(str,char)也类似于这个方法,会导致URL不可用)

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):