JavaScript中的编码和解码函数
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent
1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。
例如:
2、 进行url跳转时可以整体使用encodeURI
例如:Location.href=encodeURI("http://cang.baidu.com/do/s?word=百度&ct=21");
3、 js使用数据时可以使用escape
例如:搜藏中history纪录。
4、 escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。
最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)
escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
针对escape,encodeURI和encodeURIComponent的区别见此处javascript 字符 Escape,encodeURI,encodeURIComponent
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!
相关推荐
-
JavaScript中各种编码解码函数的区别和注意事项
大家在使用JS提交数据时,尤其是中文的时候,经常会需要将要提交的字符串进行URL编码.在JS中对字符串进行URL编码有好几种方 法,encodeURI,encodeURIComponent,还有escape.在我看到的很多代码中escape这个函数用的最多,不过这个函数却 是不推荐使用的.下面我们来分别看看这几个函数: encodeURI:对指定的字符串进行URL编码,不包括 : # / \ = & 这些URL中的关键字符. encodeURIComponent:对字符串中的字符进行编码,包括U
-
js对图片base64编码字符串进行解码并输出图像示例
复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&qu
-
javascript URL编码和解码使用说明
在有些传递页面使用GB2312,而在接收页面使用 UTF8,这样接收到的参数就可能会与原来发生不一致.使用服务器端的urlEncode函数编码的URL,与使用客户端javascript的 encodeURI函数编码的URL,结果就不一样. javaScript中的编码方法: escape() 方法: 采用ISO Latin字符集对指定的字符串进行编码.所有的空格符.标点符号.特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码 (xx等于该字符在字符集表里面的编码的16进制数字).比
-
对字符串进行HTML编码和解码的JavaScript函数
编码函数: 复制代码 代码如下: function HtmlEncode(str) { var t = document.createElement("div"); t.textContent ? t.textContent = str : t.innerText = str; return t.innerHTML; } 解码函数: 复制代码 代码如下: function HtmlDecode(str) { var t = document.createElement("di
-
JavaScript字符集编码与解码详谈
一.字符集 1)字符与字节(Character) 字符是各种文字和符号的总称,包括乱码:一个字符对应1~n个字节,一字节对应8位,每位用0或1表示. 2)字符集(Character Set) 字符集是多个字符的集合,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集.GB2312字符集.Unicode字符集等. 3)字符集编码(Character Encoding) 字符集编码就是将符号转换为计算机可读的二进制,解码就是把二进制转换为人类可读的符号. 字符集大多对应一种编码方式(例如
-
javascript中的Base64、UTF8编码与解码详解
Base64编码说明 Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式. 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现1或2个'='. base64编码库:(已验证可用) 复制代码 代码如下: var base64 = (function(){ var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn
-
Javascript下的urlencode编码解码方法附decodeURIComponent
关于在ASP(Server.UrlEncode).PHP(urlencode())函数编码结果,或是经过asp.php等动态语言直接写入COOKIES的中文字符,用JS读取的时候,都会碰到一个编码的问题,那就是最终字符串被urlencode编码了,而又时有需要从JS在客户端去读取这些数据. 而本文,就大概说说如何在js中通过系统自带的函数去解决这个问题. 而相信碰到过此问题的朋友应该都有所了解,目前网络上流行一些js下的自定义函数去解决这个问题,如说vbscript(URLDecode()).j
-
Go语言对JSON进行编码和解码的方法
本文实例讲述了Go语言对JSON进行编码和解码的方法.分享给大家供大家参考.具体如下: json已成为不同平台间传送数据的最佳方式,Golang对json的支持非常好,代码如下: 复制代码 代码如下: package main import ( "fmt" "encoding/json" ) func main() { // json encode j1 := make(map[string]interface{}) j1[&
-
js编码、解码函数介绍及其使用示例
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1.传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断. 例如: <script language="javascript">document.write('<a href="http://passport.baidu
-
Node.js中使用Buffer编码、解码二进制数据详解
JavaScript很擅长处理字符串,但是因为它最初的设计是用来处理HTML文档,因此它并不太擅长处理二进制数据.JavaScript没有byte类型,没有结构化的类型(structured types),甚至没有字节数组,只有数字和字符串.(原文:JavaScript doesn't have a byte type - it just has numbers - or structured types, or http://skylitecellars.com/ even byte arra
随机推荐
- 超简单超强悍的清理C盘垃圾文件方法
- 仿vs实现WPF好看的进度条
- Jquery多选框互相内容交换的实例代码
- Web开发使用Angular实现用户密码强度判别的方法
- 微信小程序中用WebStorm使用LESS
- 移动端使用localStorage缓存Js和css文的方法(web开发)
- 浅析PHP页面局部刷新功能的实现小结
- 防止服务器被攻击的妙招(推荐)
- js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
- 深入浅出的学习Mysql
- Bootstrap CSS布局之图像
- 各浏览器中querySelector和querySelectorAll的实现差异分析
- 一个经典实用的PHP图像处理类分享
- 如何侦测HTTP表头信息?
- CSS渐变统计柱形图
- Marquee配合DIV实现的文字滚动效果代码
- js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
- Python BeautifulSoup中文乱码问题的2种解决方法
- jQuery扩展实现text提示还能输入多少字节的方法
- jQuery插件Tooltipster实现漂亮的工具提示