您的位置:首页 > Web前端 > JavaScript

Javascript编码与解码函数

2014-07-22 21:48 302 查看
Javascript编码与解码在javascript中编码和解码主要有6个函数,这几个函数在解决前台传中文字符给后台,以及解决乱码问题很有帮助。下面一一介绍。(为了不以讹传讹请自己验证) 1.编码函数:escape(),对应的解码函数:unescape(),基本不用了。escape(charString),charstring 参数是要编码的任意 String 对象或文字。说明escape 方法返回一个包含了 charstring 内容的字符串值(Unicode 格式)。escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z 经过验证如下:@,*不被编码escape("!")"%21"escape("@")"@"escape("#")"%23"escape("$")"%24"escape("^")"%5E"escape("&")"%26"escape("*")"*"escape("(")"%28"escape("{")"%7B"escape("/")"/"escape("?")"%3F"escape(" ")"%20"注意:escape 方法不能够用来对统一资源标示码 (URI) 进行编码。对其编码应使用 encodeURI 和encodeURIComponent 方法。 2.编码函数:encodeURI(),对应的解码函数:decodeURI()encodeURI(URIString) ,将文本字符串编码为一个有效的统一资源标识符(URI)。 编码函数 encodeURI():将非字母、数字字符转换成ASCII码,以16进制表示
 译码函数 decodeURI():将被encodeURI()编码过的 ASCII码转换成对应的字符说明encodeURI 方法返回一个编码的 URI。如果您将编码结果传递给 decodeURI,那么将返回初始的字符串。encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z。请使用 encodeURIComponent 方法对这些字符进行编码。验证效果:encodeURI("http://www.2cto.com/kf/201309/241556.html")"http://www.2cto.com/kf/201309/241556.html"encodeURI("http://www.2cto.com/kf/201309/241556.html?a=2")"http://www.2cto.com/kf/201309/241556.html?a=2"encodeURI("http://www.2cto.com/kf/201309/241556.html?a=656462")"http://www.2cto.com/kf/201309/241556.html?a=656462"encodeURI("http://www.2cto.com/kf/201309/241556.html?a=哈哈")"http://www.2cto.com/kf/201309/241556.html?a=%E5%93%88%E5%93%88" 3.编码函数:encodeURIComponent(),对应的解码函数:decodeURIComponent() encodeURIComponent 方法将文本字符串编码为一个统一资源标识符 (URI) 的一个有效组件。编码函数 encodeURIComponent():将非字母、数字字符转换成ASCII码,以16进制表示译码函数 decodeURIComponent():将被encodeURIComponent()编码过的 ASCII码转换成对应的字符 说明encodeURIComponent 方法返回一个已编码的 URI。encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z。如果您将编码结果传递给 decodeURIComponent,那么将返回初始的字符串。因为encodeURIComponent 方法对所有的字符编码,请注意,如果该字符串代表一个路径,例如/folder1/folder2/default.html,其中的斜杠也将被编码。这样一来,当该编码结果被作为请求发送到 web 服务器时将是无效的。如果字符串中包含不止一个 URI 组件,请使用 encodeURI 方法进行编码如下所示:
encodeURIComponent("http://www.2cto.com/kf/201309/241556.html?a=哈哈哈")"http%3A%2F%2Fwww.2cto.com%2Fkf%2F201309%2F241556.html%3Fa%3D%E5%93%88%E5%93%88%E5%93%88" 以上内容仅供参考,请自己验证,如有问题,欢迎拍砖。

本文出自 “shuizhongyue” 博客,转载请与作者联系!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: