escape,encodeURI,encodeURIComponent有什么区别
1个回答
展开全部
一、escape()
1、escape 方法对所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。
2、字符值大于 255 的以 %uxxxx 格式存储。
二、encodeURI()
1、encodeURI 方法只将URI中的空格和非AscII字符进行编码,编码后的URI可以正常访问(ajax中文问题可以使用encodeURI对url进行编码)
2、该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码:;/?:@&=+$,#
三、encodeURIComponent()
1、encodeURIComponent 方法除了将所有的非ASCII字符编码外,还将一些特殊字符进行编码,如?#:,&等,编码后的URI不可访问。
2、请注意,如果该字符串代表一个路径,例如 /folder1/folder2/default.html,其中的斜杠也将被编码。这样一来,当该编码结果被作为请求发送到 web 服务器时将是无效的。
1、escape 方法对所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。
2、字符值大于 255 的以 %uxxxx 格式存储。
二、encodeURI()
1、encodeURI 方法只将URI中的空格和非AscII字符进行编码,编码后的URI可以正常访问(ajax中文问题可以使用encodeURI对url进行编码)
2、该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码:;/?:@&=+$,#
三、encodeURIComponent()
1、encodeURIComponent 方法除了将所有的非ASCII字符编码外,还将一些特殊字符进行编码,如?#:,&等,编码后的URI不可访问。
2、请注意,如果该字符串代表一个路径,例如 /folder1/folder2/default.html,其中的斜杠也将被编码。这样一来,当该编码结果被作为请求发送到 web 服务器时将是无效的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询