javascript字符串编码encodeURI()和encodeURIComponent()的区别
来源:互联网 发布:易语言源码查看器 编辑:程序博客网 时间:2024/05/21 09:39
在javascript中对字符串进行编码有3种方式:encodeURI()、encodeURIComponent()和escape()。
1、encodeURI():encodeURI() 函数可把字符串作为 URI 进行编码。
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#
提示:如果 URI 组件中含有分隔符,比如 ? 和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。
2、encodeURIComponent():encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。
提示:请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。
3、escape():escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。
该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。
提示:可以使用 unescape() 对 escape() 编码的字符串进行解码。
ECMAScript v3 反对使用该方法,应用使用 decodeURI() 和 decodeURIComponent() 替代它。
引申:解码
1、decodeURI() :decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。
2、decodeURIComponent() :decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进行解码。
3、unescape() :unescape() 函数可对通过 escape() 编码的字符串进行解码。
- javascript字符串编码encodeURI()和encodeURIComponent()的区别
- Javascript:encodeURIComponent()和encodeURI()的区别
- javascript - encodeURI和encodeURIComponent的区别
- JavaScript三个字符串编码函数区别escape()、encodeURI()、encodeURIComponent()
- escape(), encodeURI()和encodeURIComponent()是在Javascript中用于编码字符串的三个常用的方法.
- JavaScript编码函数escape()、encodeURI()、encodeURIComponent()区别
- Javascript中三个编码函数escape,encodeURI和encodeURIComponent的区别
- Javascript的URL编码方法比较:escape、encodeURI和encodeURIComponent
- JavaScript的URL编码方法比较:escape、encodeURI和encodeURIComponent
- `encodeURI` 和 `encodeURIComponent`的区别
- encodeURI, encodeURIComponent,escape 编码对比和区别
- Javascript中的escape,encodeURI,encodeURIComponent的区别
- javascript encodeURI和encodeURIComponent的比较
- javascript encodeURI和encodeURIComponent的比较
- javascript encodeURI和encodeURIComponent的比较
- javascript encodeURI和encodeURIComponent的比较
- javascript encodeURI和encodeURIComponent的比较
- encodeURIComponent 的作用和encodeURI的区别
- Node.js中package.json中库的版本号详解(^和~区别)
- TOEFL 活用简单词
- 【scikit-learn】交叉验证及其用于参数选择、模型选择、特征选择的例子
- iOS LLDB 调试方法
- 如何让文件夹内所有文件名显示在一个Excel文件
- javascript字符串编码encodeURI()和encodeURIComponent()的区别
- SQLITE3 使用总结(三)
- eclipse 的10个调试技巧
- shell中的重定向(>、>>、tee)
- 初识火焰图
- CAN总线位定时和同步的研究与设计
- 嵌入式产品开发流程
- TypeScript和JavaScript哪种语言更先进
- nyoj 349 poj 1094 Sorting It All Out