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 相关文章推荐
JQuery入门——用映射方式绑定不同事件应用示例
Feb 05 Javascript
Javascript Objects详解
Sep 04 Javascript
JavaScript使用指针操作实现约瑟夫问题实例
Apr 07 Javascript
总结JavaScript的正则与其他语言的不同之处
Aug 25 Javascript
JavaScript中数据类型转换总结
Dec 25 Javascript
JavaScript实现图像模糊化的方法实例
Jan 15 Javascript
基于Marquee.js插件实现的跑马灯效果示例
Jan 25 Javascript
Angular在模板驱动表单中自定义校验器的方法
Aug 09 Javascript
react-native-tab-navigator组件的基本使用示例代码
Sep 07 Javascript
Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
Sep 14 Javascript
vue-router实现组件间的跳转(参数传递)
Nov 07 Javascript
Ajax异步刷新功能及简单案例
Nov 20 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 函数使用方法与函数定义方法
2010/05/09 PHP
PHP新手NOTICE错误常见解决方法
2011/12/07 PHP
js实现简单模态窗口,背景灰显
2008/11/14 Javascript
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
js操作select控件的几种方法
2010/06/02 Javascript
javascript实现可改变滚动方向的无缝滚动实例
2013/06/17 Javascript
js将控件隐藏的方法及display属性介绍
2013/07/04 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
2013/09/30 Javascript
jquery操作下拉列表、文本框、复选框、单选框集合(收藏)
2014/01/08 Javascript
jquery弹窗插件colorbox绑定动态生成元素的方法
2014/06/20 Javascript
js怎么覆盖原有方法实现重写
2014/09/04 Javascript
Javascript中Array.prototype.map()详解
2014/10/22 Javascript
jQuery多条件筛选如何实现
2015/11/04 Javascript
JavaScript数组去重的几种方法效率测试
2016/10/23 Javascript
微信小程序 MinUI组件库系列之badge徽章组件示例
2018/08/20 Javascript
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
2019/02/11 Javascript
详解原生JS动态添加和删除类
2019/03/26 Javascript
Layui数据表格 前后端json数据接收的方法
2019/09/19 Javascript
jQuery实现评论模块
2020/08/19 jQuery
Vue2.x和Vue3.x的双向绑定原理详解
2020/11/05 Javascript
Python正确重载运算符的方法示例详解
2017/08/27 Python
解决Python3 抓取微信账单信息问题
2019/07/19 Python
详解如何在cmd命令窗口中搭建简单的python开发环境
2019/08/29 Python
基于Python组装jmx并调用JMeter实现压力测试
2020/11/03 Python
英国电子产品购物网站:TobyDeals
2018/07/30 全球购物
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
2014/09/15 面试题
大专应届生个人简历的自我评价
2013/10/15 职场文书
致跳高运动员广播稿
2014/01/13 职场文书
装修协议书范本
2014/04/21 职场文书
临时工聘用合同协议书
2014/10/29 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
接收函格式
2015/01/30 职场文书
pytorch finetuning 自己的图片进行训练操作
2021/06/05 Python
Feign调用传输文件异常的解决
2021/06/24 Java/Android
MySQL子查询中order by不生效问题的解决方法
2021/08/02 MySQL
SpringBoot+Vue+JWT的前后端分离登录认证详细步骤
2021/09/25 Java/Android