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解密入门之凭直觉解
Jun 25 Javascript
JavaScript 封装Ajax传递的数据代码
Jun 05 Javascript
JavaScript中关于indexOf的使用方法与问题小结
Aug 05 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
Jun 06 Javascript
JavaScript对象反射用法实例
Apr 17 Javascript
jQuery实现有动画淡出效果的二级折叠菜单代码
Oct 17 Javascript
JS和jQuery使用submit方法无法提交表单的原因分析及解决办法
May 17 Javascript
基于jQuery实现页面搜索功能
Mar 26 Javascript
js阻止冒泡和默认事件(默认行为)详解
Oct 20 Javascript
小程序实现留言板
Nov 02 Javascript
uni-app 支持多端第三方地图定位的方法
Jan 03 Javascript
webpack proxy 使用(代理的使用)
Jan 10 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 来访国内外IP判断代码并实现页面跳转
2009/12/18 PHP
教你在PHPStorm中配置Xdebug
2015/07/27 PHP
PHP中仿制 ecshop验证码实例
2017/01/06 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
PHP设计模式之简单工厂和工厂模式实例分析
2019/03/25 PHP
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
2014/08/04 Javascript
jQuery插件实现适用于移动端的地址选择器
2016/02/18 Javascript
关于在Servelet中如何获取当前时间的操作方法
2016/06/28 Javascript
jQuery实现三级联动效果
2017/03/02 Javascript
关于layui导航栏不展示下拉列表的解决方法
2019/09/25 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
JavaScript Array.flat()函数用法解析
2020/09/02 Javascript
Python学习资料
2007/02/08 Python
Python下singleton模式的实现方法
2014/07/16 Python
Python多线程编程(六):可重入锁RLock
2015/04/05 Python
TensorFlow实现Batch Normalization
2018/03/08 Python
Python 编码规范(Google Python Style Guide)
2018/05/05 Python
在pycharm中设置显示行数的方法
2019/01/16 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
html5 canvas的绘制文本自动换行的示例代码
2018/09/17 HTML / CSS
印度购物网站:TATA CLiQ
2017/11/23 全球购物
奥地利婴儿用品和玩具购物网站:baby-markt.at
2020/01/26 全球购物
建筑文秘专业个人求职信范文
2013/12/28 职场文书
村优秀党员事迹材料
2014/01/15 职场文书
创业者是否需要商业计划书?
2014/02/07 职场文书
优秀辅导员事迹材料
2014/02/16 职场文书
本科毕业生自荐信
2014/05/26 职场文书
中班上学期个人总结
2015/02/12 职场文书
大学学生会主席竞选稿怎么写?
2019/08/19 职场文书
导游词之张家口
2019/12/13 职场文书
如何用python插入独创性声明
2021/03/31 Python
MySQL之高可用集群部署及故障切换实现
2021/04/22 MySQL
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android