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 相关文章推荐
jquery 实现两级导航菜单附效果图
Mar 07 Javascript
javascript + jquery实现定时修改文章标题
Mar 19 Javascript
JS实现超简单的仿QQ折叠菜单效果
Sep 21 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
Aug 05 Javascript
AngularJs Injecting Services Into Controllers详解
Sep 02 Javascript
Zabbix添加Node.js监控的方法
Oct 20 Javascript
Javascript中for循环语句的几种写法总结对比
Jan 23 Javascript
详解JS中的立即执行函数
Feb 24 Javascript
原生js添加一个或多个类名的方法分析
Jul 30 Javascript
Vue的生命周期操作示例
Sep 17 Javascript
快速解决vue2+vue-cli3项目ie兼容的问题
Nov 17 Vue.js
node.js如何自定义实现一个EventEmitter
Jul 16 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登录环节防止sql注入的方法浅析
2014/06/30 PHP
php使用parse_url和parse_str解析URL
2015/02/22 PHP
前端必学之PHP语法基础
2016/01/01 PHP
Yii隐藏URL中index.php的方法
2016/07/12 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
再谈ie和firefox下的document.all属性
2009/10/21 Javascript
基于jquery的仿百度的鼠标移入图片抖动效果
2010/09/17 Javascript
Javascript的数组与字典用法与遍历对象的属性技巧
2012/11/07 Javascript
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
javascript在子页面中函数无法调试问题解决方法
2014/01/17 Javascript
json字符串之间的相互转换示例代码
2014/08/21 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
2016/03/28 Javascript
详解JavaScript常量定义
2017/01/03 Javascript
webstorm添加vue.js支持的方法教程
2017/07/05 Javascript
js+html5实现复制文字按钮
2017/07/15 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
2017/09/26 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
2018/05/22 jQuery
element上传组件循环引用及简单时间倒计时的实现
2018/10/01 Javascript
[46:21]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
[47:04]EG vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
python requests 使用快速入门
2017/08/31 Python
解决python打不开文件(文件不存在)的问题
2019/02/18 Python
PyQt5下拉式复选框QComboCheckBox的实例
2019/06/25 Python
pytorch 在sequential中使用view来reshape的例子
2019/08/20 Python
Python 中的 import 机制之实现远程导入模块
2019/10/29 Python
python函数声明和调用定义及原理详解
2019/12/02 Python
AmazeUI的JS表单验证框架实战示例分享
2020/08/21 HTML / CSS
Stuart Weitzman美国官网:美国奢华鞋履品牌
2016/08/18 全球购物
德国消费电子产品购物网站:Guter Kauf
2020/09/15 全球购物
顺丰快递Java软件工程师面试题
2015/07/31 面试题
应用化学专业职业生涯规划书
2013/12/31 职场文书
大学生关于奋斗的演讲稿
2014/01/09 职场文书
捐资助学倡议书
2014/04/15 职场文书
Python 数据可视化之Bokeh详解
2021/11/02 Python
Pandas实现DataFrame的简单运算、统计与排序
2022/03/31 Python
ConditionalOnProperty配置swagger不生效问题及解决
2022/06/14 Java/Android