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 相关文章推荐
点击页面其它地方隐藏该div的两种思路
Nov 18 Javascript
使用javascript提交form表单方法汇总
Jun 25 Javascript
js设置和获取自定义属性的方法
Oct 20 Javascript
详解jQuery选择器
Dec 21 Javascript
几行js代码实现自适应
Feb 24 Javascript
用最简单的方法判断JavaScript中this的指向(推荐)
Sep 04 Javascript
fetch 使用及如何接收JS传值
Nov 11 Javascript
详解使用jQuery.i18n.properties实现js国际化
May 04 jQuery
使用webpack打包后的vue项目如何正确运行(express)
Oct 26 Javascript
Javascript查看大图功能代码实现
May 07 Javascript
js实现拖拽与碰撞检测
Sep 18 Javascript
动态实现element ui的el-table某列数据不同样式的示例
Jan 22 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
php另类上传图片的方法(PHP用Socket上传图片)
2013/10/30 PHP
用php代码限制国内IP访问我们网站
2015/09/26 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
2017/09/30 PHP
基于jQuery的图片左右无缝滚动插件
2012/05/23 Javascript
javascript获取隐藏dom的宽高 具体实现
2013/07/14 Javascript
Javascript异步编程模型Promise模式详细介绍
2014/05/08 Javascript
Html5的placeholder属性(IE兼容)实现代码
2014/08/30 Javascript
jQuery中:enabled选择器用法实例
2015/01/04 Javascript
JavaScript定时器和优化的取消定时器方法
2015/07/03 Javascript
原生JS实现网络彩票投注效果
2016/09/25 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
vue生命周期和react生命周期对比【推荐】
2018/09/19 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
2020/04/27 Javascript
vue-preview动态获取图片宽高并增加旋转功能的实现
2020/07/29 Javascript
js实现简单的轮播图效果
2020/12/13 Javascript
[02:01]2018完美盛典-开场舞《双子星》
2018/12/16 DOTA
Python缩进和冒号详解
2016/06/01 Python
Python编程之event对象的用法实例分析
2017/03/23 Python
Python图像处理之图片文字识别功能(OCR)
2019/07/30 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
2020/08/07 Python
Timex手表官网:美国运动休闲手表品牌
2017/01/28 全球购物
伊芙丽官方旗舰店:中国淑女一线品牌
2017/12/01 全球购物
香港草莓网:Strawberrynet香港
2019/05/10 全球购物
华为菲律宾官方网站:HUAWEI Philippines
2021/02/23 全球购物
参观监狱心得体会
2014/01/02 职场文书
2013年学期结束动员演讲稿
2014/01/07 职场文书
青春演讲稿范文
2014/05/08 职场文书
十佳青年事迹材料
2014/08/21 职场文书
运动会演讲稿200字
2014/08/25 职场文书
教师党的群众路线对照检查材料
2014/09/24 职场文书
党政领导班子四风问题对照检查材料思想汇报
2014/10/02 职场文书
自我检讨书范文
2015/01/28 职场文书
2015年学校图书室工作总结
2015/05/19 职场文书
人生遥控器观后感
2015/06/11 职场文书
教你用Python爬取英雄联盟皮肤原画
2021/06/13 Python
springboot项目以jar包运行的操作方法
2021/06/30 Java/Android