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下关于onmouseout、事件冒泡的问题经验小结
Dec 09 Javascript
JavaScript 原型继承之构造函数继承
Aug 26 Javascript
仿猪八戒网左下角的文字滚动效果
Oct 28 Javascript
浅析js绑定事件的常用方法
May 15 Javascript
JS获取屏幕高度的简单实现代码
May 24 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
Jun 27 Javascript
js实现StringBuffer的简单实例
Sep 02 Javascript
Bootstrap基本组件学习笔记之列表组(11)
Dec 07 Javascript
ionic 自定义弹框效果
Jun 27 Javascript
js实现可以点击收缩或张开的悬浮窗
Sep 18 Javascript
Angular 向组件传递模板的两种方法
Feb 23 Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
Sep 21 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/12 PHP
php内嵌函数用法实例
2015/03/20 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
2016/09/30 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
js离开或刷新页面检测(且兼容FF,IE,Chrome)
2014/03/05 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
js实现鼠标触发图片抖动效果的方法
2015/02/27 Javascript
jqGrid表格应用之新增与删除数据附源码下载
2015/12/02 Javascript
多种jQuery绑定事件的实现方式
2016/06/13 Javascript
Node.js的基本知识简单汇总
2016/09/19 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
2016/10/27 Javascript
JS验证全角与半角及相互转化的介绍
2017/05/18 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
基于ES6作用域和解构赋值详解
2017/11/03 Javascript
Vue 自定义动态组件实例详解
2018/03/28 Javascript
解决layui-open关闭自身窗口的问题
2019/09/10 Javascript
原生js实现随机点名功能
2019/11/05 Javascript
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
python保存数据到本地文件的方法
2018/06/23 Python
python3.6利用pyinstall打包py为exe的操作实例
2018/10/31 Python
python实现倒计时小工具
2019/07/29 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
浅谈Django2.0 加xadmin踩的坑
2019/11/15 Python
在django中自定义字段Field详解
2019/12/03 Python
Window系统下Python如何安装OpenCV库
2020/03/05 Python
利用Python优雅的登录校园网
2020/10/21 Python
Python新建项目自动添加介绍和utf-8编码的方法
2020/12/26 Python
HTML5 Canvas 起步(2) - 路径
2009/05/12 HTML / CSS
HTML5在canvas中绘制复杂形状附效果截图
2014/06/23 HTML / CSS
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
学生会干部自荐信
2014/02/04 职场文书
年终晚会活动方案
2014/08/21 职场文书
地方课程教学计划
2015/01/19 职场文书
2015年护士工作总结范文
2015/03/31 职场文书
2015年妇幼保健工作总结
2015/05/19 职场文书