JS编码和解码,escape()、encodeURI()、encodeURIComponent()区别详解
大纲
JavaScript中有三个对字符串编码方式 编码函数: escape encodeURI encodeURIComponent 解码函数: unescape decodeURI decodeURIComponent
1. escape 不是同一类
escape()是对字符串(string)进行编码;
encodeURI、encodeURIComponent 是对URL编码;
编码之后的效果是%XX或者%uXXXX这种形式,其中 ASCII字母、数字、@*/+
,这几个字符不会被编码。
2. encodeURI()和encodeURIComponent()
都是编码URL
区别是编码的字符范围不同
encodeURI:不会对 ASCII字母、数字、~!@#$&*()=:/,;?+’
编码;
encodeURIComponent:不会对 ASCII字母、数字、~!*()’
编码。
例如:
encodeURI('https://www.baidu.com/') //"https://www.baidu.com/" encodeURIComponent('https://www.baidu.com/') //"https%3A%2F%2Fwww.baidu.com%2F"
可以看到两者区别就是encodeURI
,不转’: / ',encodeURIComponent
可以。
本文作者:轻风细雨_林木木
本文链接:https://www.cnblogs.com/linzhifen5/p/16961014.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步