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实现滑块滑动改变值的实现代码
Apr 12 Javascript
网页中表单按回车就自动提交的问题的解决方案
Nov 03 Javascript
node.js中的buffer.copy方法使用说明
Dec 14 Javascript
jQuery实现DIV层收缩展开的方法
Feb 27 Javascript
轻松掌握JavaScript中的Math object数学对象
May 26 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
Jan 05 Javascript
JS实现的验证身份证及获取地区功能示例
Jan 16 Javascript
React手稿之 React-Saga的详解
Nov 12 Javascript
微信小程序实现发送验证码按钮效果
Dec 20 Javascript
vue滚动固定顶部及修改样式的实例代码
May 30 Javascript
Vuex新手的理解与使用详解
May 31 Javascript
微信小程序之高德地图多点路线规划过程示例详解
Jan 18 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代码
2012/07/17 PHP
提交表单后 PHP获取提交内容的实现方法
2016/05/25 PHP
PHP微信开发之模板消息回复
2016/06/24 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
JSON 入门指南 想了解json的朋友可以看下
2009/08/26 Javascript
js 取时间差去掉周六周日实现代码
2012/12/25 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
2015/06/05 Javascript
jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)
2016/04/18 Javascript
Vue实现路由跳转和嵌套
2017/06/20 Javascript
jqueryUI tab标签页代码分享
2017/10/09 jQuery
详解自定义ajax支持跨域组件封装
2018/02/08 Javascript
js中apply()和call()的区别与用法实例分析
2018/08/14 Javascript
jQuery事件blur()方法的使用实例讲解
2019/03/30 jQuery
[53:20]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 VG vs OG
2018/04/03 DOTA
[40:05]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
编写Python脚本使得web页面上的代码高亮显示
2015/04/24 Python
Python函数式编程指南(一):函数式编程概述
2015/06/24 Python
利用python发送和接收邮件
2016/09/27 Python
基于Python socket的端口扫描程序实例代码
2018/02/09 Python
python基础教程项目三之万能的XML
2018/04/02 Python
Python判断是否json是否包含一个key的方法
2018/12/31 Python
Python实现制度转换(货币,温度,长度)
2019/07/14 Python
如何使用python进行pdf文件分割
2019/11/11 Python
Python 实现将数组/矩阵转换成Image类
2020/01/09 Python
Python+unittest+requests+excel实现接口自动化测试框架
2020/12/23 Python
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
HTML5之tabindex属性全面解析
2016/07/07 HTML / CSS
英国高级健康和美容产品零售商:Life and Looks
2019/08/01 全球购物
法国低价在线宠物商店:bitiba.fr
2020/07/03 全球购物
阳光体育活动总结
2014/04/30 职场文书
七一建党日演讲稿
2014/09/05 职场文书
2015年客房服务员工作总结
2015/05/15 职场文书
二十年同学聚会感言
2015/07/30 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL
【海涛教你打DOTA】剑圣第一人称视角解说
2022/04/01 DOTA