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 相关文章推荐
等待指定时间后自动跳转或关闭当前页面的js代码
Jul 09 Javascript
Javascript刷新窗口方法小结
Oct 21 Javascript
深入理解$.each和$(selector).each
May 15 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
Nov 09 Javascript
基于jQuery实现的幻灯图片切换
Dec 02 Javascript
Vue + Webpack + Vue-loader学习教程之功能介绍篇
Mar 14 Javascript
JavaScript简单计算人的年龄示例
Apr 15 Javascript
jQuery事件对象的属性和方法详解
Sep 09 jQuery
详解React中传入组件的props改变时更新组件的几种实现方法
Sep 13 Javascript
小程序实现搜索框功能
Mar 26 Javascript
从零开始用webpack构建一个vue3.0项目工程的实现
Sep 24 Javascript
Vue组件生命周期运行原理解析
Nov 25 Vue.js
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 最大运行时间 max_execution_time修改方法
2010/03/08 PHP
Mysql数据库操作类( 1127版,提供源码下载 )
2010/12/02 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
2014/07/04 PHP
什么情况下可以不写PHP的闭合标签“?>”
2014/08/28 PHP
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
2015/12/31 PHP
PHP实现基于文本的摩斯电码生成器
2016/01/11 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
2016/02/15 PHP
php中遍历二维数组并以表格的形式输出的方法
2017/01/03 PHP
php解析mht文件转换成html的实例
2017/03/13 PHP
Laravel源码解析之路由的使用和示例详解
2018/09/27 PHP
JS/jQuery实现默认显示部分文字点击按钮显示全部内容
2013/05/13 Javascript
jQuery学习笔记之toArray()
2014/06/09 Javascript
jQuery实现瀑布流布局
2014/12/12 Javascript
JavaScript阻止事件冒泡示例分享
2014/12/28 Javascript
Javascript中获取对象的原型对象的方法小结
2015/02/25 Javascript
JavaScript获得当前网页来源页面(即上一页)的方法
2015/04/03 Javascript
AngularJS 遇到的小坑与技巧小结
2016/06/07 Javascript
JavaScript提高加载和执行效率的方法
2017/02/03 Javascript
vue router路由嵌套不显示问题的解决方法
2017/06/17 Javascript
对Vue beforeRouteEnter 的next执行时机详解
2018/08/25 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
2018/12/21 Javascript
在Layui中实现开关按钮的效果实例
2019/09/29 Javascript
js实现抽奖功能
2020/11/24 Javascript
python 正则式使用心得
2009/05/07 Python
Django 迁移、操作数据库的方法
2019/08/02 Python
浅谈Python中文件夹和python package包的区别
2020/06/01 Python
python开发入门——列表生成式
2020/09/03 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
2020/11/19 Python
全球最大的房车租赁市场:Outdoorsy
2018/09/19 全球购物
德国综合购物网站:OTTO
2018/11/13 全球购物
创业计划书中要认真思考的问题
2013/12/28 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
励志演讲稿范文
2014/04/29 职场文书
项目建议书模板
2014/05/12 职场文书
高中学生自我评价范文
2014/09/23 职场文书
Html5调用企业微信的实现
2021/04/16 HTML / CSS