JavaScript中的编码和解码函数


Posted in Javascript onFebruary 15, 2017

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刷新框架外页面七种实现代码
Feb 18 Javascript
jquery mobile实现拨打电话功能的几种方法
Aug 05 Javascript
借助javascript代码判断网页是静态还是伪静态
May 05 Javascript
JQuery调用WebServices的方法和4个实例
May 06 Javascript
基于jQuery实现简单的折叠菜单效果
Nov 23 Javascript
JS控制TreeView的结点选择
Nov 11 Javascript
浅谈js原生拖放
Nov 21 Javascript
JavaScript数组的5种迭代方法
Sep 29 Javascript
详解使用webpack打包编写一个vue-toast插件
Nov 08 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
Nov 11 Javascript
layui 设置table 行的高度方法
Aug 17 Javascript
微信小程序实现轨迹回放的示例代码
Dec 13 Javascript
js date 格式化
Feb 15 #Javascript
JS实现最简单的冒泡排序算法
Feb 15 #Javascript
javascript设计模式之单体模式学习笔记
Feb 15 #Javascript
JavaScript中的toString()和toLocaleString()方法的区别
Feb 15 #Javascript
javascript设计模式之模块模式学习笔记
Feb 15 #Javascript
javascript设计模式之策略模式学习笔记
Feb 15 #Javascript
BootStrap实现带关闭按钮功能
Feb 15 #Javascript
You might like
php 中的4种标记风格介绍
2012/05/10 PHP
php中cookie的使用方法
2014/03/29 PHP
PHP解决URL中文GBK乱码问题的两种方法
2014/06/03 PHP
精通JavaScript 纠正 cleanWhitespace函数
2010/03/11 Javascript
jQuery 选择器理解
2010/03/16 Javascript
在myeclipse中如何加入jquery代码提示功能
2014/06/03 Javascript
javascript从image转换为base64位编码的String
2014/07/29 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
javascript实现信息增删改查的方法
2015/07/25 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
js跨域请求数据的3种常用的方法
2015/12/01 Javascript
vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
2017/02/22 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
2017/05/08 Javascript
angularjs select 赋值 ng-options配置方法
2018/02/28 Javascript
微信小程序使用二次贝塞尔曲线画波浪
2018/12/25 Javascript
微信小程序图片右边加两行文字的代码
2020/04/23 Javascript
Python编程语言的35个与众不同之处(语言特征和使用技巧)
2014/07/07 Python
Django在Win7下的安装及创建项目hello word简明教程
2014/07/14 Python
python使用socket连接远程服务器的方法
2015/04/29 Python
详解python中字典的循环遍历的两种方式
2017/02/07 Python
Django unittest 设置跳过某些case的方法
2018/12/26 Python
Python元组知识点总结
2019/02/18 Python
Python实现多进程的四种方式
2019/02/22 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
html5读取本地文件示例代码
2014/04/22 HTML / CSS
上课睡觉检讨书
2014/01/28 职场文书
满月酒主持词
2014/03/27 职场文书
新学期国旗下演讲稿
2014/05/08 职场文书
合同和协议有什么区别?
2014/10/08 职场文书
入党积极分子党小组意见
2015/06/02 职场文书
小学作文指导之如何写人?
2019/07/08 职场文书
Go标准容器之Ring的使用说明
2021/05/05 Golang
详解JS WebSocket断开原因和心跳机制
2021/05/07 Javascript
我们认为中短波广播场强仪的最佳组合
2022/04/05 无线电
apache ftpserver搭建ftp服务器
2022/05/20 Servers