一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

escape() encodeURI() encodeURIComponent() url编码函数

时间:2011-01-12 编辑:简简单单 来源:一聚教程网

escape() encodeuri() encodeuricomponent() url编码函数
escape() 方法:

实例
在本例中,我们将使用 escape() 来编码字符串:

输出:

visit%20w3school%21%3f%21%3d%28%29%23%25%26

采用iso latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ascii字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。
不会被此方法编码的字符: @ * / +

encodeuri() 方法:

实例
在本例中,我们将使用 encodeuri() 对 uri 进行编码:

输出:

http://www.111com.net
http://www.111com.net/my%20first/
,/?:@&=+$#

把uri字符串采用utf-8编码格式转化成escape格式的字符串。
不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + '

encodeuricomponent() 方法:


在本例中,我们将使用 encodeuricomponent() 对 uri 进行编码:

输出:

http%3a%2f%2fwww.111com.net
http%3a%2f%2fwww.111com.net%2fp%201%2f
%2c%2f%3f%3a%40%26%3d%2b%24%23
 
把uri字符串采用utf-8编码格式转化成escape格式的字符串。与encodeuri()相比,这个方法将对更多的字符进行编码,比如 / 等字符。所以如果字符串里面包含了uri的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后url将显示错误。
不会被此方法编码的字符:! * ( ) '
因此,对于中文字符串来说,如果不希望把字符串编码格式转化成utf-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使用 escape。如果你的页面是gb2312或者其他的编码,而接受参数的页面是utf-8编码的,就要采用encodeuri或者 encodeuricomponent。

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

热门栏目