重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
js中有三个函数是用于编码的,他们是 escape(),encodeURI(),encodeURIComponent()函数。
在营口等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、网站制作 网站设计制作定制设计,公司网站建设,企业网站建设,品牌网站制作,营销型网站建设,外贸营销网站建设,营口网站建设费用合理。
而相对应的解码函数式:unescape,decodeURI,decodeURIComponent 。
对 String 对象编码以便它们能在所有计算机上可读。
escape 方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。
字符值大于 255 的以 %uxxxx 格式存储。
**注意 escape 方法不能够用来对统一资源标示码 (URI) 进行编码。对其编码应使用 encodeURI 和encodeURIComponent 方法。
(转)该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。其他所有的字符都会被转义序列替换。
但是会编码(;/?:@=+$,#)这些在地址栏中经常用到的特殊字符
**
将文本字符串编码为一个有效的统一资源标识符 (URI)。
说明:
encodeURI 方法返回一个编码的 URI。如果您将编码结果传递给 decodeURI,那么将返回初始的字符串。encodeURI 方法不会对下列字符进行编码:":"、"/"、";" 和 "?"。请使用 encodeURIComponent 方法对这些字符进行编码。
此方法是不会将(;/?:@=+$,#)这些字符编码的
说明:URIComponent 是一个完整的 URI 的一部分。
如果 encodedURIString 无效,将产生一个 URIError。
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
但是会编码(;/?:@=+$,#)这些在地址栏中经常用到的特殊字符
大家在使用JS提交数据时,尤其是中文的时候,经常会需要将要提交的字符串进行URL编码。在JS中对字符串进行URL编码有好几种方
法,encodeURI,encodeURIComponent,还有escape。在我看到的很多代码中escape这个函数用的最多,不过这个函数却
是不推荐使用的。下面我们来分别看看这几个函数:
encodeURI:对指定的字符串进行URL编码,不包括 : # / \ = 这些URL中的关键字符。
encodeURIComponent:对字符串中的字符进行编码,包括URL中的特殊字符。
escape:这个是JS比较早期版本的函数,这个函数中处理unicode字符的时候会有些问题。
代码如下:
复制代码 代码如下:
var url = "; amp;b=呵呵";
var encodedUrl = encodeURI(url);
alert(encodedUrl); //输出:;b=%E5%91%B5%E5%91%B5
encodedUrl = encodeURIComponent(url);
alert(encodedUrl); //输出:http%3A%2F %2F
alert(escape(url)); //输出:http%3A//
如上所示,escape函数中处理中文字符的时候,都会转换成%uxxxx这种形式,显然这个和URL编码的格式不一样,而
encodeURIComponent函数编码是最彻底的,如果没有特殊需要的话,encodeURIComponent这个函数是比较常用的,当然,也
许我们使用escape也不会有什么问题,也许你的服务端语言也能够正常的解析出来,不过这个函数在处理unicode字符的时候还不是很标准,所以这里
建议大家使用encodeURIComponent和decodeURIComponent这对函数来对字符串进行URL编码和解码。
可以在使用script标签时指定charset 属性,规定在外部脚本文件中使用的字符编码。
如果外部文件中的字符编码与主文件中的编码方式不同,就要用到 charset 属性。
默认的字符编码是 ISO-8859-1。
如: script type="text/javascript" src="myscripts.js" charset="UTF-8"/script
注意:只有在使用引入外部js文件时,可以声明编码格式,对行内脚本无效;
现在编码方式主要有两种,一个是utf-8,一个GB2312,如果编码方式不同,会导致页面出现乱码。想修改编码方式一般可以用charset指定,也可以再工具中设置: 1.可以在使用script标签时指定。