Javascript编码与解码函数

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"

以上内容仅供参考,请自己验证,如有问题,欢迎拍砖。

时间: 2024-08-24 19:41:19

Javascript编码与解码函数的相关文章

java中URL 的编码和解码函数

java中URL 的编码和解码函数java.net.URLEncoder.encode(String s)和java.net.URLDecoder.decode(String s);在javascript 中URL 的编码和解码函数escape(String s)和unescape(String s) ; 在前台:var url="test.jsp?param="+escape('this%is#te=st&o k?+/');在后台: String param=request.

JavaScript 编码规范 之 函数表达式

! function () { var a = function () // 赋值一个函数表达式 { } , b = function () // b c 效果一样 都是返回一个拥有闭包的函数 { var time = +new Date ; return function () { ; console.log( time ) } }() , c = ( function () // 加上圆括号的原因 1 表示是立即执行 2 拥有闭包元素 { var time = +new Date ; ret

URL进行编码和解码函数

encodeURIComponent(URIstring) 可把字符串作为URI 组件进行编码. URIstring 必需.一个字符串,含有 URI 组件或其他要编码的文本. urldecode(string str); 本函数将 URL 编码后字符串还原成未编码的样子.编码使用 %## 的格式.

javascript中可用的编码解码函数

在项目实践中可能会遇到一些特殊字符的转义问题,那么这个时候就需要js编码解码函数来解决这些情况了: 特殊字符的含义 URL编码  符号 解释 转义 # 用来标志特定的文档位置 %23 % 对特殊字符进行编码 %25 & 分隔不同的变量值对 %26 + 在变量值中表示空格 %2B / 表示目录路径 %2F \ 表示目录路径 %5C = 用来连接键和值 %3D ? 表示查询字符串的开始 %3F 空格 空格 %20 . 句号 %2E : 冒号 %3A javascript中可用的编码解码函数,有如下的

JavaScript对浏览器的URL进行编码、解码

关于url编码,js有三个函数.有三个解码方法,escape,encodeURI,encodeURIComponent().有三个解码方法,unescapse,decodeURI,decodeURIComponent. 1.escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值.比如"春节"的返回结果是%u6625%u8282,,escape()不对"+"编码主要用于汉字编码,现在已经不提倡使用.对应的解码函数是:unescapse

了解URL编码的基本概念,在javascript和java程序中使用内置的API进行编码和解码

1.URL编码的基本概念 URL只能使用US-ASCII 字符集来通过因特网进行发送.由于URL常常会包含 ASCII 集合之外的字符,URL必须转换为有效的 ASCII 格式.URL 编码使用 "%" 其后跟随两位的十六进制数来替换非 ASCII 字符.URL 不能包含空格,URL 编码通常使用 + 来替换空格.所谓URL编码,就是将非US-ASCII字符和US-ASCII中的特殊字符,用相应的字符集编码来表示.比如,汉字"你",如果用UTF-8编码,出现在URL

JavaScript字符集编码与解码

一.字符集 1)字符与字节(Character) 字符是各种文字和符号的总称,包括乱码:一个字符对应1~n个字节,一字节对应8位,每位用0或1表示. 2)字符集(Character Set) 字符集是多个字符的集合,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集.GB2312字符集.Unicode字符集等. 3)字符集编码(Character Encoding) 字符集编码就是将符号转换为计算机可读的二进制,解码就是把二进制转换为人类可读的符号. 字符集大多对应一种编码方式(例如

【js与jquery】javascript中url编码与解码

本文主要针对URI编解码的相关问题做了介绍,对Url编码中哪些字符需要编码.为什么需要编码做了详细的说明,并对比分析了Javascript 中和 编解码相关的几对函数 编码/解码 escape / unescape, encodeURI / decodeURI, encodeURIComponent / decodeURIComponent. [js与jquery]javascript中url编码与解码,布布扣,bubuko.com

javascript对url进行编码和解码

这里总结下JavaScript对URL进行编码和解码的三个方法. 为什么要对URL进行编码和解码 只有[0-9[a-Z] $ - _ . + ! * ' ( ) ,]以及某些保留字,才能不经过编码直接用于URL,其他的字符如果不经过编码可能会导致各种各样的问题. 很容易找到编码和解码的例子,比如在搜索引擎搜索的中文关键字,复制网址之后再粘贴会发现该URL已经被转码. escape()和unescape() 原理:对除ASCII字母.数字.标点符号[@  *  _  +  -  .  /]以外的其