url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介【转】
为啥会有浏览器编码这一说法 一般来说,URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。比如,世界上有英文字母的网址 “h ttp://www.haorooms.com”, 但是没有希腊字母的网址“http://www.aβγ.com” (读作阿尔法-贝塔-伽玛.com)。这是因为网络标准RFC 1738做了硬性规定: 原文: "...Only alphanumerics [0-9a-zA-Z], the special characters " $ - _ .+!* '()," [not including the quotes - ed], and reserved characters used for their reserved purposes may be used unencoded within a URL." 翻译:“只有字母和数字[0-9a-zA-Z]、一些特殊符号“$-_.+!*'(),”[不包括双引号]、以及某些保留字,才可以不经过编码直接用于URL。” 这意味着,如果URL中有汉字,就必须编码后使用。但是麻烦的是,RFC 1738没有规定具体的编码方法,而是交给应用程序(浏览器)自己决定。这导致“URL编码”成为了一个混乱的领域。 出现浏览器编码的几种情况 1、网址路径中包含汉字 如下图: h ttp://www.haorooms