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 相关文章推荐
fancybox modal的完美解决(右上的X)
Oct 30 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
Mar 23 Javascript
详解JavaScript中void语句的使用
Jun 04 Javascript
简介AngularJS中使用factory和service的方法
Jun 17 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
Aug 07 Javascript
非常优秀的JS图片轮播插件Swiper的用法
Jan 03 Javascript
AngularJS执行流程详解
Feb 17 Javascript
微信公众号菜单配置微信小程序实例详解
Mar 31 Javascript
详解angular应用容器化部署
Aug 14 Javascript
详解Vue2.5+迁移至Typescript指南
Aug 01 Javascript
浅谈Vue3.0之前你必须知道的TypeScript实战技巧
Sep 11 Javascript
vue 使用post/get 下载导出文件操作
Aug 07 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代码(抓取网页中的邮箱地址)
2012/07/17 PHP
关于PHP结束标签的使用细节探讨及联想
2013/03/04 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
PHP curl批处理及多请求并发实现方法分析
2018/08/15 PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
2018/10/23 PHP
PHP反射原理与用法深入分析
2019/09/28 PHP
JavaScript更改字符串的大小写
2015/05/07 Javascript
js实现登陆遮罩效果的方法
2015/07/28 Javascript
JS组件Bootstrap实现弹出框效果代码
2016/04/26 Javascript
socket.io与pm2(cluster)集群搭配的解决方案
2017/06/02 Javascript
详解最新vue-cli 2.9.1的webpack存在问题
2017/12/16 Javascript
三分钟学会用ES7中的Async/Await进行异步编程
2018/06/14 Javascript
微信小程序之批量上传并压缩图片的实例代码
2018/07/05 Javascript
Javascript迭代、递推、穷举、递归常用算法实例讲解
2019/02/01 Javascript
从零到一详聊创建Vue工程及遇到的常见问题
2019/04/25 Javascript
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
2019/05/09 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
vue中的mescroll搜索运用及各种填坑处理
2019/10/30 Javascript
使用vue实现一个电子签名组件的示例代码
2020/01/06 Javascript
vue组件实现移动端九宫格转盘抽奖
2020/10/16 Javascript
Python列表list数组array用法实例解析
2014/10/28 Python
Python脚本实现网卡流量监控
2015/02/14 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
2018/01/05 Python
python实现简易版计算器
2020/06/22 Python
python之DataFrame实现excel合并单元格
2021/02/22 Python
python3 实现调用串口功能
2019/12/26 Python
CSS3 简单又实用的5个属性
2010/03/04 HTML / CSS
Ejb技术面试题
2015/04/29 面试题
初中数学教学反思
2014/01/16 职场文书
企业标语大全
2014/07/01 职场文书
办公室主任个人对照检查材料思想汇报
2014/10/11 职场文书
婚礼答谢词
2015/01/04 职场文书
2016党校培训心得体会
2016/01/07 职场文书
Python使用protobuf序列化和反序列化的实现
2021/05/19 Python
Netty客户端接入流程NioSocketChannel创建解析
2022/03/25 Java/Android
详解flex:1什么意思
2022/07/23 HTML / CSS