JS对字符串编码的几种方式使用指南


Posted in Javascript onMay 14, 2015

函数 描述
encodeURI() 把字符串编码为 URI
encodeURIComponent() 把字符串编码为 URI 组件
escape() 对字符串进行编码

上面是查询来自w3school的资料。那么三者之间有什么区别呢,请容我测试测试。

var str = "http://localhost:8080/Product/index?id=123&attr=456&area=中国";

console.log(encodeURI(str));

console.log(encodeURIComponent(str));

console.log(escape(str));

打印结果如下:

http://localhost:8080/Product/index?id=123&attr=456&area=%E4%B8%AD%E5%9B%BD

http%3A%2F%2Flocalhost%3A8080%2FProduct%2Findex%3Fid%3D123%26attr%3D456%26area%3D%E4%B8%AD%E5%9B%BD 

http%3A//localhost%3A8080/Product/index%3Fid%3D123%26attr%3D456%26area%3D%u4E2D%u56FD

可以看出,

encodeURI不会对:/?&等uri中起分割作用的字符进行编码;

encodeURIComponent则会。

观察escape则发现,:?&都被转码了,而/没有,w3school解释是,escape函数会对ascii码中字母、数字及符号( * @ - _ + . / )之外的所有字符进行编码。

另外,我们可以看出escape对汉字“中国”编码后结果与前两者不同。W3SCHOOL也建议不使用该方法,用前两者代替。

以上所述就是本文的全部内容了,希望对大家学习javascript能够有所帮助。

Javascript 相关文章推荐
使用js 设置url参数
Jul 08 Javascript
jquery win 7透明弹出层效果的简单代码
Aug 06 Javascript
如何将网页表格内容导入excel
Feb 18 Javascript
javascript 获取函数形参个数
Jul 31 Javascript
使用正则表达式的格式化与高亮显示json字符串
Dec 03 Javascript
超级给力的JavaScript的React框架入门教程
Jul 02 Javascript
js 求时间差的实现代码
Apr 26 Javascript
vuejs在解析时出现闪烁的原因及防止闪烁的方法
Sep 19 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
Mar 27 Javascript
浅谈JavaScript作用域和闭包
Sep 18 Javascript
Node.js搭建小程序后台服务
Jan 03 Javascript
Vue组件Draggable实现拖拽功能
Dec 01 Javascript
jQuery的基本概念与高级编程
May 14 #Javascript
javascript实现简单的省市区三级联动
May 14 #Javascript
javascript实现仿腾讯游戏选择
May 14 #Javascript
JavaScript实现Flash炫光波动特效
May 14 #Javascript
javascript基于DOM实现省市级联下拉框的方法
May 14 #Javascript
javascript搜索框效果实现方法
May 14 #Javascript
javascript操作ul中li的方法
May 14 #Javascript
You might like
PHP实现用户认证及管理完全源码
2007/03/11 PHP
ext for eclipse插件安装方法
2008/04/27 Javascript
js 居中漂浮广告
2010/03/21 Javascript
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
javascript页面加载完执行事件代码
2014/02/11 Javascript
jQuery切换网页皮肤并保存到Cookie示例代码
2014/06/16 Javascript
node.js中的fs.mkdirSync方法使用说明
2014/12/17 Javascript
javascript获得当前的信息的一些常用命令
2015/02/25 Javascript
JS实现文档加载完成后执行代码
2015/07/09 Javascript
js实现文字截断功能
2016/09/14 Javascript
jQuery按需加载轮播图(web前端性能优化)
2017/02/17 Javascript
详解如何在NodeJS项目中优雅的使用ES6
2017/04/22 NodeJs
JavaScript Drum Kit 指南(纯 JS 模拟敲鼓效果)
2017/07/23 Javascript
Angular之toDoList的实现代码示例
2017/12/02 Javascript
vue.js select下拉框绑定和取值方法
2018/03/03 Javascript
详解解决Vue相同路由参数不同不会刷新的问题
2018/10/12 Javascript
自定义javascript验证框架示例【附源码下载】
2019/05/31 Javascript
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
Python 序列化 pickle/cPickle模块使用介绍
2014/11/30 Python
python开发之tkinter实现图形随鼠标移动的方法
2015/11/11 Python
Python检测网站链接是否已存在
2016/04/07 Python
Python实现网站注册验证码生成类
2017/06/08 Python
替换python字典中的key值方法
2018/07/06 Python
Django Sitemap 站点地图的实现方法
2019/04/29 Python
PyQt5 窗口切换与自定义对话框的实例
2019/06/20 Python
使用python将mysql数据库的数据转换为json数据的方法
2019/07/01 Python
python编程进阶之类和对象用法实例分析
2020/02/21 Python
css3 按钮 利用css3实现超酷下载按钮
2013/03/18 HTML / CSS
Bibloo荷兰:女士、男士和儿童的服装、鞋子和配饰
2019/02/25 全球购物
长曲棍球装备:Lacrosse Monkey
2020/12/02 全球购物
质检部职责
2013/12/28 职场文书
2014领导班子“四风问题”对照检查材料思想汇报(执法局)
2014/09/21 职场文书
2014年小学图书室工作总结
2014/12/09 职场文书
检讨书范文500字
2015/01/28 职场文书
学生会任命书范本
2015/09/21 职场文书
浅谈 JavaScript 沙箱Sandbox
2021/11/02 Javascript