escape,encodeURI,encodeURIComponent函数比较

青春_恰似段落

青春_恰似段落

2016-02-19 15:41

今天图老师小编给大家精心推荐个escape,encodeURI,encodeURIComponent函数比较教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~

js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent

1、  传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。                           

例如:

script language="javascript"document.write(''a href="http://passport.baidu.com/?Logout&aid=7&u=''+encodeURIComponent("http://cang.baidu.com/bruce42")+''"退出/a'');/script
2、  进行url跳转时可以整体使用encodeURI

例如: Location.href=encodeURI(http://cang.baidu.com/do/s?word=中国asp之家&ct=21);
3、  js使用数据时可以使用escape

例如:搜藏中history纪录。

4、  escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。

最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)

(中国asp之家注:就是说如果你的页面编码是gb2312的话,服务器端接收的将是乱码)

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z

encodeURI不编码字符有82个:!,#,$,&,'',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

encodeURIComponent不编码字符有71个:!, '',(,),*,-,.,_,~,0-9,a-z,A-Z

附上这个三个函数的介绍:

escape 方法

对 String 对象编码以便它们能在所有计算机上可读,

escape(charString)
必选项 charstring 参数是要编码的任意 String 对象或文字。

说明
escape 方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。

字符值大于 255 的以 %uxxxx 格式存储。

注意   escape 方法不能够用来对统一资源标示码 (URI) 进行编码。对其编码应使用 encodeURI 和encodeURIComponent 方法。

encodeURI 方法

将文本字符串编码为一个有效的统一资源标识符 (URI)。

encodeURI(URIString)
必选的 URIString 参数代表一个已编码的 URI。

说明
encodeURI 方法返回一个编码的 URI。如果您将编码结果传递给 decodeURI,那么将返回初始的字符串。encodeURI 方法不会对下列字符进行编码:":"、"/"、";" 和 "?"。请使用 encodeURIComponent 方法对这些字符进行编码。

encodeURIComponent 方法

将文本字符串编码为一个统一资源标识符 (URI) 的一个有效组件。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

encodeURIComponent(encodedURIString)
必选的 encodedURIString 参数代表一个已编码的 URI 组件。

说明

encodeURIComponent 方法返回一个已编码的 URI。如果您将编码结果传递给 decodeURIComponent,那么将返回初始的字符串。因为 encodeURIComponent 方法对所有的字符编码,请注意,如果该字符串代表一个路径,例如 /folder1/folder2/default.html,其中的斜杠也将被编码。这样一来,当该编码结果被作为请求发送到 web 服务器时将是无效的。如果字符串中包含不止一个 URI 组件,请使用 encodeURI 方法进行

展开更多 50%)
分享

猜你喜欢

escape,encodeURI,encodeURIComponent函数比较

Web开发
escape,encodeURI,encodeURIComponent函数比较

escape、encodeURI、encodeURIComponent等方法的区别比较

Web开发
escape、encodeURI、encodeURIComponent等方法的区别比较

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

URL编码转换,escape() encodeURI() encodeURIComponent()

Web开发
URL编码转换,escape() encodeURI() encodeURIComponent()

escape 方法

编程语言 网络编程
escape 方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

encodeURI 方法

编程语言 网络编程
encodeURI 方法

encodeURIComponent 方法

编程语言 网络编程
encodeURIComponent 方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

jQuery 相关控件的事件操作分解

jQuery 相关控件的事件操作分解

设置Win8用户登录错误次数及锁定时间

设置Win8用户登录错误次数及锁定时间
下拉加载更多内容 ↓