本田肖战

济宁果壳科技专业软件开发团队,提供全方位的互联网服务!
座机:0537-2551991 手机:16688004545(微信)15563775221(微信)

热门标签

  1. 热爱就一起
  2. 果壳学院
  3. 技术顾问
  4. escape()、encodeURI()、encodeURIComponent()区别详解
escape()、encodeURI()、encodeURIComponent()区别详解

escape()、encodeURI()、encodeURIComponent()区别详解

escape()、encodeURI()、encodeURIComponent()区别详解;

济宁果壳科技

2016-05-17 18:22:12

0

3081

一、escape()函数

定义和用法

escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。

语法

escape(string)

参数  描述

string  必需。要被转义或编码的字符串。

返回值

已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。

说明

该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。其他所有的字符都会被转义序列替换。


二、encodeURI()函数

定义和用法

encodeURI() 函数可把字符串作为 URI 进行编码。

语法

encodeURI(URIstring)

参数  描述

URIstring  必需。一个字符串,含有 URI 或其他要编码的文本。

返回值

URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。

说明

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#



三、encodeURIComponent() 函数

定义和用法

encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。

语法

encodeURIComponent(URIstring)

参数  描述

URIstring  必需。一个字符串,含有 URI 组件或其他要编码的文本。

返回值

URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。

说明

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。

提示和注释

提示:请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。


四、 总结:

通过对三个函数的分析,我们可以知道:escape()除了 ASCII 字母、数字和特定的符号外,对传进来的字符串全部进行转义编码,因此如果想对URL编码,最好不要使用此方法。而encodeURI() 用于编码整个URI,因为URI中的合法字符都不会被编码转换。encodeURIComponent方法在编码单个URIComponent(指请求参 数)应当是最常用的,它可以讲参数中的中文、特殊字符进行转义,而不会影响整个URL。


五、 示例:


1、 escape()


输出:

http%3A//three-f-nenga.com

%3F%21%3D%28%29%23%25%26


2、 encodeURI()


输出:

http://three-f-nenga.com/

http://three-f-nenga.com/case/

,/?:@&=+$#

对整个URL进行编码,而URL的特定标识符不会被转码。


3、 encodeURIComponent()

例1:


输出:

http%3A%2F%2Fthree-f-nenga.com

http%3A%2F%2Fthree-f-nenga.com%2Fcashier%2F

%2C%2F%3F%3A%40%26%3D%2B%24%23

例2:


对URL中的参数进行编码,因为参数也是一个URL,如果不编码会影响整个URL的跳转。



定制首选 果壳科技 咨询热线:0537-2551991

关闭咨询框
Collateral Love
分享到:QQ空间新浪微博腾讯微博人人网微信
宝马 猫和老鼠 杨幂 迷你特工队 你的婚礼 樱花 非你莫属 我和我的家乡 王源 熊出没 万古神帝 乐童音乐家 李敏镐95岁女王自驾看展 刑侦日记 甄嬛传 卡塔尔世界杯 五十公里桃花坞 千与千寻 魔兽世界 跑得快 哥斯拉大战金刚 盗墓笔记 恰好是少年 熊出没之夏日连连看 海上繁花 我们的新时代 两象打架一象劝和 你好世界 恰好是少年 凯迪拉克 创造营2021 房东回应免租4年洪水中的中国力量 爱情保卫战火影忍者 狼行者 建军大业 理想照耀中国 全职法师 Without Me 凯特王妃 河南商丘多家大医院紧急腾空 中国新说唱 杨倩妈妈说油焖大虾管够钟南山凡尔赛发言 迪丽热巴 郑州内涝是海绵城市失效? 江西一村全年无蚊重庆发现吃虫植物 海绵宝宝 海贼王 网恋被骗八百多万 如棋 釜山行 奥特曼 世界周刊蜡笔小新 吉利 亚冠直播 王者荣耀 乌女兵穿高跟鞋 | 下一页 金球奖