Javascript中的几种URL编码方法比较


Posted in Javascript onJanuary 23, 2015

javascript中存在几种对URL字符串进行编码的方法:escape(),encodeURI(),以及encodeURIComponent()。这几种编码所起的作用各不相同。

escape() 方法:

    采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。

不会被此方法编码的字符: @ * / +

encodeURI() 方法:

把URI字符串采用UTF-8编码格式转化成escape格式的字符串。

不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + '

encodeURIComponent() 方法:

    把URI 字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误。

不会被此方法编码的字符:! * ( ) '

    因 此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使用 escape。如果你的页面是GB2312或者其他的编码,而接受参数的页面是UTF-8编码的,就要采用encodeURI或者 encodeURIComponent。

另外,encodeURI/encodeURIComponent是在javascript1.5之后引进的,escape则在javascript1.0版本就有。

Javascript 相关文章推荐
dwz 如何去掉ajaxloading具体代码
May 22 Javascript
如何在JavaScript中实现私有属性的写类方式(二)
Dec 04 Javascript
jQuery实现带滑动条的菜单效果代码
Aug 26 Javascript
Jquery promise实现一张一张加载图片
Nov 13 Javascript
简单的JS轮播图代码
Jul 18 Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
Dec 14 Javascript
vue2.0 datepicker使用方法
Feb 04 Javascript
JS实现的文字间歇循环滚动效果完整示例
Feb 13 Javascript
vue实现可视化可拖放的自定义表单的示例代码
Mar 20 Javascript
详解JavaScript中的函数、对象
Apr 01 Javascript
基于JavaScript实现大文件上传后端代码实例
Aug 18 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
Nov 12 Javascript
jQuery源码分析之jQuery.fn.each与jQuery.each用法
Jan 23 #Javascript
AngularJS语法详解(续)
Jan 23 #Javascript
Jquery动态替换div内容及动态展示的方法
Jan 23 #Javascript
AngularJS语法详解
Jan 23 #Javascript
JQuery选择器绑定事件及修改内容的方法
Jan 23 #Javascript
angular中使用路由和$location切换视图
Jan 23 #Javascript
JavaScript中的类与实例实现方法
Jan 23 #Javascript
You might like
ThinkPHP 3.2 数据分页代码分享
2014/10/14 PHP
php将日期格式转换成xx天前的格式
2015/04/16 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
jQuery textarea的长度进行验证
2009/05/06 Javascript
jQuery contains过滤器实现精确匹配使用方法
2013/04/12 Javascript
jQuery焦点图切换特效插件封装实例
2013/08/18 Javascript
js操纵dom生成下拉列表框的方法
2014/02/24 Javascript
页面加载完后自动执行一个方法的js代码
2014/09/06 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
什么是JavaScript中的结果值?
2016/10/08 Javascript
angular directive的简单使用总结
2017/05/24 Javascript
实现图片首尾平滑轮播(JS原生方法—节流)
2017/10/17 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
2018/07/10 Javascript
Angular6 写一个简单的Select组件示例
2018/08/20 Javascript
Vue组件中的data必须是一个function的原因浅析
2018/09/03 Javascript
Vue高版本中一些新特性的使用详解
2018/09/25 Javascript
JS函数动态传递参数的方法分析【基于arguments对象】
2019/06/05 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
ng-alain的sf如何自定义部件的流程
2020/06/12 Javascript
[43:41]OG vs Newbee 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
Python之自动获取公网IP的实例讲解
2017/10/01 Python
Python二叉搜索树与双向链表转换算法示例
2019/03/02 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
python读取csv文件指定行的2种方法详解
2020/02/13 Python
Python递归函数特点及原理解析
2020/03/04 Python
Mytheresa中国官网:德国时尚奢侈品商城
2017/08/04 全球购物
牧马人澳大利亚官网:Wrangler澳大利亚
2019/10/08 全球购物
毕业生的自我评价
2013/12/30 职场文书
总裁办公室主任职责
2014/01/02 职场文书
简历自我评价模版
2014/01/31 职场文书
对照检查剖析材料
2014/09/30 职场文书
优秀班集体申报材料
2014/12/25 职场文书
2015年资料员工作总结
2015/04/25 职场文书
复兴之路纪录片观后感
2015/06/02 职场文书
大学体育课感想
2015/08/10 职场文书