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 相关文章推荐
javascript 极速 隐藏/显示万行表格列只需 60毫秒
Mar 28 Javascript
jquery 上下滚动广告
Jun 17 Javascript
Jqyery中同等与js中windows.onload的应用
May 10 Javascript
JavaScript设计模式之外观模式实例
Oct 10 Javascript
JavaScript将字符串转换成字符编码列表的方法
Mar 19 Javascript
jQuery实现tab选项卡效果的方法
Jul 08 Javascript
BootStrap创建响应式导航条实例代码
May 31 Javascript
jquery.zclip轻量级复制失效问题
Jan 08 Javascript
实现一个简单的vue无限加载指令方法
Jan 10 Javascript
vue.js父子组件通信动态绑定的实例
Sep 28 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
Jul 25 Javascript
vue+elementUI实现表格列的显示与隐藏
Apr 13 Vue.js
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
DC这些乐高系列动画电影你看过几部?
2020/04/09 欧美动漫
PHP微信开发之有道翻译
2016/06/23 PHP
用jscript实现新建word文档
2007/06/15 Javascript
extjs grid设置某列背景颜色和字体颜色的实现方法
2010/09/06 Javascript
javascript高级学习笔记整理
2011/08/14 Javascript
js兼容火狐显示上传图片预览效果的方法
2015/05/21 Javascript
JavaScript中的return语句简单介绍
2015/12/07 Javascript
微信小程序 开发之顶部导航栏实例代码
2017/02/23 Javascript
jQuery模拟淘宝购物车功能
2017/02/27 Javascript
详解vue2.0 transition 多个元素嵌套使用过渡
2017/06/19 Javascript
详解Nuxt.js部署及踩过的坑
2018/08/07 Javascript
深入理解移动前端开发之viewport
2018/10/19 Javascript
Vue页面刷新记住页面状态的实现
2019/12/27 Javascript
原生JS封装拖动验证滑块的实现代码示例
2020/06/01 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
vue3为什么要用proxy替代defineProperty
2020/10/19 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
2020/11/12 Javascript
python使用正则搜索字符串或文件中的浮点数代码实例
2014/07/11 Python
Python正则表达式教程之二:捕获篇
2017/03/02 Python
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
2017/05/24 Python
如何用Python合并lmdb文件
2018/07/02 Python
使用python serial 获取所有的串口名称的实例
2019/07/02 Python
python按修改时间顺序排列文件的实例代码
2019/07/25 Python
使用python实现画AR模型时序图
2019/11/20 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
Shein英国:女性时尚网上商店
2019/04/10 全球购物
酒店副总岗位职责
2013/12/24 职场文书
校园奶茶店创业计划书
2014/01/23 职场文书
领导走群众路线整改措施思想汇报
2014/10/12 职场文书
逃课检讨书怎么写
2015/01/01 职场文书
导游词格式
2015/02/13 职场文书
七一表彰大会简报
2015/07/20 职场文书
golang中的空slice案例
2021/04/27 Golang
golang操作redis的客户端包有多个比如redigo、go-redis
2022/04/14 Golang
Vite + React从零开始搭建一个开源组件库
2022/06/25 Javascript