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(JS) 压缩 / 混淆 / 格式化 批处理工具
Dec 10 Javascript
提高javascript效率 一次判断,而不要次次判断
Mar 30 Javascript
jQuery插件StickUp实现网页导航置顶
Apr 12 Javascript
js实现无限级树形导航列表效果代码
Sep 23 Javascript
AngularJS压缩JS技巧分析
Nov 08 Javascript
解析Vue2.0双向绑定实现原理
Feb 23 Javascript
flag和jq on 的绑定多个对象和方法(必看)
Feb 27 Javascript
微信小程序 flex实现导航实例详解
Apr 26 Javascript
JavaScript中常见的八个陷阱总结
Jun 28 Javascript
vue中的计算属性的使用和vue实例的方法示例
Dec 04 Javascript
微信小程序实用代码段(收藏版)
Dec 17 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
Nov 19 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获得文件扩展名三法
2006/11/25 PHP
使用PHP Socket 编程模拟Http post和get请求
2014/11/25 PHP
php获取开始与结束日期之间所有日期的方法
2016/11/29 PHP
PHP实现在对象之外访问其私有属性private及保护属性protected的方法
2017/11/20 PHP
PHP学习笔记之session
2018/05/06 PHP
js异或加解密效果代码
2008/06/25 Javascript
Mootools 1.2教程 滑动效果(Slide)
2009/09/15 Javascript
使用原生javascript创建通用表单验证——更锋利的使用dom对象
2011/09/13 Javascript
实现js保留小数点后N位的代码
2014/11/13 Javascript
Bootstrap学习笔记之css组件(3)
2016/06/07 Javascript
巧用数组制作图片切换js代码
2016/11/29 Javascript
详解webpack进阶之插件篇
2017/07/06 Javascript
详解jQuery中的isPlainObject()使用方法
2018/02/27 jQuery
JS扩展String.prototype.format字符串拼接的功能
2018/03/09 Javascript
Vue监听事件实现计数点击依次增加的方法
2018/09/26 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
2018/12/10 Javascript
jquery中为什么能用$操作
2019/06/18 jQuery
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
vue使用echarts实现水平柱形图实例
2020/09/09 Javascript
Vue项目中使用mock.js的完整步骤
2021/01/12 Vue.js
python和shell监控linux服务器的详细代码
2018/06/22 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
Python3.7基于hashlib和Crypto实现加签验签功能(实例代码)
2019/12/04 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
css3 响应式媒体查询的示例代码
2019/09/25 HTML / CSS
会计找工作求职信范文
2013/12/09 职场文书
酒店保安员岗位职责
2014/01/31 职场文书
小学教师节活动方案
2014/01/31 职场文书
物业保安员岗位职责
2014/03/14 职场文书
音乐兴趣小组活动总结
2014/07/07 职场文书
如何写股份合作协议书
2014/09/11 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
2015年幼儿园学期工作总结
2015/05/22 职场文书
教你怎么用python爬取爱奇艺热门电影
2021/05/20 Python
JavaScript高级程序设计之变量与作用域
2021/11/17 Javascript
Mybatis-Plus进阶分页与乐观锁插件及通用枚举和多数据源详解
2022/03/21 Java/Android