escape,encodeURI,encodeURIComponent有什么区别

 我来答
森林之黄
高粉答主

2017-11-05 · 繁杂信息太多,你要学会辨别
知道大有可为答主
回答量:1.3万
采纳率:94%
帮助的人:1027万
展开全部
一、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 服务器时将是无效的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式