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保存当前路径(cookies记录)
Dec 14 Javascript
JavaScript中:表达式和语句的区别[译]
Sep 17 Javascript
JavaScript中统计Textarea字数并提示还能输入的字符
Jun 10 Javascript
jQuery仿淘宝网产品品牌隐藏与显示效果
Sep 01 Javascript
莱鸟介绍window.print()方法
Jan 06 Javascript
三个js循环的关键字示例(for与while)
Feb 16 Javascript
js添加事件的通用方法推荐
May 15 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
Jul 01 Javascript
如何用JS/HTML将时间戳转换为“xx天前”的形式
Feb 06 Javascript
浅谈js中startsWith 函数不能在任何浏览器兼容的问题
Mar 01 Javascript
详解JS判断页面是在手机端还是在PC端打开的方法
Apr 26 Javascript
vue.js中ref及$refs的使用方法解析
Oct 08 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
2020年4月新番动漫目录 官方宣布4月播出的作品一览
2020/03/08 日漫
php开发文档 会员收费1期
2012/08/14 PHP
一个PHP的远程图片抓取函数分享
2013/09/25 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
2018/11/20 PHP
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
jQuery地图map悬停显示省市代码分享
2015/08/20 Javascript
给angular加上动画效遇到的问题总结
2016/02/17 Javascript
jQuery实现从身份证号中获取出生日期和性别的方法分析
2016/02/25 Javascript
理解javascript正则表达式
2016/03/08 Javascript
基于jQuery的网页影音播放器jPlayer的基本使用教程
2016/03/08 Javascript
JavaScript资源预加载组件和滑屏组件的使用推荐
2016/03/10 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
微信小程序中的swiper组件详解
2017/04/14 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
js实现鼠标拖拽多选功能示例
2017/08/01 Javascript
Node.js pipe实现源码解析
2017/08/12 Javascript
详解swiper在vue中的应用(以3.0为例)
2018/09/20 Javascript
使用异步组件优化Vue应用程序的性能
2019/04/28 Javascript
javascript中的this作用域详解
2019/07/15 Javascript
Nuxt 嵌套路由nuxt-child组件用法(父子页面组件的传值)
2020/11/05 Javascript
vue中的计算属性和侦听属性
2020/11/06 Javascript
[01:03]DOTA2新的征程 你的脚印值得踏上
2014/08/13 DOTA
Python 3.x 新特性及10大变化
2015/06/12 Python
基python实现多线程网页爬虫
2015/09/06 Python
Python通过RabbitMQ服务器实现交换机功能的实例教程
2016/06/29 Python
利用Django内置的认证视图实现用户密码重置功能详解
2017/11/24 Python
Python自动化运维_文件内容差异对比分析
2017/12/13 Python
Python OpenCV获取视频的方法
2018/02/28 Python
Python实现八皇后问题示例代码
2018/12/09 Python
PyQt5+Caffe+Opencv搭建人脸识别登录界面
2019/08/28 Python
Python3 获取文件属性的方式(时间、大小等)
2020/03/12 Python
在django项目中导出数据到excel文件并实现下载的功能
2020/03/13 Python
python3.x中安装web.py步骤方法
2020/06/23 Python
办公室主任主任岗位责任制
2014/02/11 职场文书
征兵宣传标语
2014/06/20 职场文书
青年教师师德演讲稿
2014/08/26 职场文书