【开发笔记】JS中encodeURI与encodeURIComponent
2017-09-03 11:08
232 查看
先上图:
(1)对于内容为URI的编码
结果是encodeURIComponent对分隔符进行了编码,而encodeURI没有。
结果是相同。
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#
encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。
(1)对于内容为URI的编码
结果是encodeURIComponent对分隔符进行了编码,而encodeURI没有。
(2)对于内容为非URI的编码
结果是相同。
(3)函数说明
encodeURI() 函数可把字符串作为 URI 进行编码。该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#
encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。
相关文章推荐
- js面向对象开发(四) 其他引用类型(encodeURI 、encodeURIComponent编码,eval方法 ,escape unescape 给汉字转码 )
- js对文字进行编码escape,encodeURI,encodeURIComponent
- js-escape()、encodeURI()、encodeURIComponent()区别
- js基础篇——encod 4000 eURI 和encodeURIComponent
- encodeURIComponent()对js参数进行编码,防止错误值
- js解码函数 escape,encodeURI,encodeURIComponent比较
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- 在asp中使用js的encodeURIComponent方法
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- js解码函数 escape,encodeURI,encodeURIComponent比较
- js中的三个编码函数:escape,encodeURI,encodeURIComponent
- [转]js中escape,encodeURI,encodeURIComponent三个函数的区别
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- [转]js中escape,encodeURI,encodeURIComponent三个函数的区别
- JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- [转]js中escape,encodeURI,encodeURIComponent
- js编码 urlencode , escape,encodeURI,encodeURIComponent
- js中escape,encodeURI,encodeURIComponent 区别