encodeURI()和encodeURIComponent() 区别
2021-01-21 06:13
标签:ide 标准 标识符 区别 pre 查询 var 使用 冒号 URI: Uniform ResourceIdentifiers,通用资源标识符 主要区别在于,encodeURI()不会对本身属于URI的特殊字符进行编码,例如冒号、正斜杠、问号和井字号;而encodeURIComponent()则会对它发现的任何非标准字符进行编码。来看下面的例子: encodeURI():会替换所有的字符,但不包括以下字符: 则 encodeURIComponent()会转义以上符号,但不包括:字母、数字、 encodeURI 和 encodeURIComponent 的主要区别在于需要转义的字符范围不一样。 使用encodeURI()编码后的结果是除了空格之外的其他字符都原封不动,只有空格被替换成了%20。而encodeURIComponent()方法则会使用对应的编码替换所有非字母数字字符。这也正是可以对整个URI使用encodeURI(),而只能对附加在现有URI后面的字符串使用encodeURIComponent()的原因所在。一般来说,我们使用encodeURIComponent()方法的时候要比使用encodeURI()更多,因为在实践中更常见的是对查询字符串参数而不是对基础URL进行编码 encodeURI()和encodeURIComponent() 区别 标签:ide 标准 标识符 区别 pre 查询 var 使用 冒号 原文地址:https://www.cnblogs.com/ygunoil/p/13297632.html
var uri="http://www.jxbh.cn/illegal value.htm#start";
//”http: //www.jxbh.cn/illegal%20value .htm#s tart”
alert(encodeURI (uri)):
//”http% 3A%2F%2Fwww.jxbh.cn%2 Fillegal%2 0value. htm%23 start”
alert( encodeURIComponent (uri));
类型
包含
保留字符
;
,
/
?
:
@
&
=
+
$
非转义的字符
字母 数字
-
_
.
!
~
*
‘
(
)
数字符号
#
(
、)
、.
、!
、~
、*
、‘
、-
和_
encodeURI(‘;‘) => ;
encodeURIComponent(‘;‘) => %3B // utf-8编码
encodeURI(‘#‘) => #
encodeURIComponent(‘#‘) => %23
文章标题:encodeURI()和encodeURIComponent() 区别
文章链接:http://soscw.com/index.php/essay/44859.html