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 相关文章推荐
javascript tips提示框组件实现代码
Nov 19 Javascript
js中将字符串转换成json的三种方式
Jan 12 Javascript
Jquery ajax传递复杂参数给WebService的实现代码
Aug 08 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
Sep 04 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
May 11 Javascript
jQuery动画效果图片轮播特效
Jan 12 Javascript
js+css实现回到顶部按钮(back to top)
Mar 02 Javascript
JS for循环中i++ 和 ++i的区别介绍
Jul 20 Javascript
基于Vuejs实现购物车功能
Aug 02 Javascript
浅谈js中test()函数在正则中的使用
Aug 19 Javascript
基于jQuery实现滚动切换效果
Dec 02 Javascript
Chart.js 轻量级HTML5图表绘制工具库(知识整理)
May 22 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中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
php简单分页类实现方法
2015/02/26 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
PHP中有关长整数的一些操作教程
2019/09/11 PHP
Prototype使用指南之array.js
2007/01/10 Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
2013/04/01 Javascript
让复选框只能选择一项的方法
2013/10/08 Javascript
跨域传值即主页面与iframe之间互相传值
2013/12/09 Javascript
JavaScript插件化开发教程(六)
2015/02/01 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
详解javascript实现瀑布流绝对式布局
2016/01/29 Javascript
Jquery和JS获取ul中li标签的实现方法
2016/06/02 Javascript
JS原型链怎么理解
2016/06/27 Javascript
深入剖析JavaScript面向对象编程
2016/07/12 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
2020/08/27 Javascript
Avalonjs双向数据绑定与监听的实例代码
2017/06/23 Javascript
在JS循环中使用async/await的方法
2018/10/12 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
关于NodeJS中的循环引用详解
2019/07/23 NodeJs
vue进入页面时不在顶部,检测滚动返回顶部按钮问题及解决方法
2019/10/30 Javascript
JavaScript数值类型知识汇总
2019/11/17 Javascript
Python中index()和seek()的用法(详解)
2017/04/27 Python
Python中input与raw_input 之间的比较
2017/08/20 Python
python中requests和https使用简单示例
2018/01/18 Python
Python中遍历列表的方法总结
2019/06/27 Python
PyQt+socket实现远程操作服务器的方法示例
2019/08/22 Python
浅谈pandas dataframe对除数是零的处理
2020/07/20 Python
Python 制作查询商品历史价格的小工具
2020/10/20 Python
详解CSS3开启硬件加速的使用和坑
2017/08/21 HTML / CSS
canvas之万花筒效果的简单实现(推荐)
2016/08/16 HTML / CSS
学生安全责任书范本
2014/07/24 职场文书
运动会表扬稿范文
2015/05/05 职场文书
2016婚礼主持词开场白
2015/11/24 职场文书
2016年教师节特级教师获奖感言
2015/12/09 职场文书
Nginx代理Redis哨兵主从配置的实现
2022/07/15 Servers