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 相关文章推荐
IE与FireFox的JavaScript兼容问题解决办法
Dec 31 Javascript
jquery获取颜色在ie和ff下的区别示例介绍
Mar 28 Javascript
Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
Sep 01 Javascript
javascript引用类型指针的工作方式
Apr 13 Javascript
AngularJS基础教程之简单介绍
Sep 27 Javascript
javascript从定义到执行 你不知道的那些事
Jan 04 Javascript
解析JavaScript数组方法reduce
Dec 12 Javascript
详解Vue监听数据变化原理
Mar 08 Javascript
react开发中如何使用require.ensure加载es6风格的组件
May 09 Javascript
深入理解Webpack 中路径的配置
Jun 17 Javascript
js实现一个简单的MVVM框架示例
Jan 15 Javascript
Vue中保存数据到磁盘文件的方法
Sep 06 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递归实现无限分类生成下拉列表的函数
2010/08/08 PHP
PHP获取昨天、今天及明天日期的方法
2016/02/03 PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
2016/11/16 PHP
php图形jpgraph操作实例分析
2017/02/22 PHP
ExtJS下 Ext.Direct加载和提交过程排错小结
2013/04/02 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
2015/03/03 Javascript
jQuery Mobile弹出窗、弹出层知识汇总
2016/01/05 Javascript
详解JavaScript中数组和字符串的lastIndexOf()方法使用
2016/03/13 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
2016/09/05 Javascript
jQuery中fadein与fadeout方法用法示例
2016/09/16 Javascript
js中作用域的实例解析
2017/03/16 Javascript
JavaScript实现二维坐标点排序效果
2017/07/18 Javascript
React从react-router路由上做登陆验证控制的方法
2018/05/10 Javascript
async/await让异步操作同步执行的方法详解
2019/11/01 Javascript
jQuery实现的分页插件完整示例
2020/05/26 jQuery
javaScript代码飘红报错看不懂?读完这篇文章再试试
2020/08/19 Javascript
js 将多个对象合并成一个对象 assign方法的实现
2020/09/24 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
2020/11/03 Javascript
[00:34]DOTA2上海特级锦标赛 Spirit战队宣传片
2016/03/04 DOTA
全面解读Python Web开发框架Django
2014/06/30 Python
Python获取文件ssdeep值的方法
2014/10/05 Python
python实现简单http服务器功能
2018/09/17 Python
python实现复制大量文件功能
2019/08/31 Python
python时间time模块处理大全
2020/10/25 Python
网络艺术零售业的先驱者:artrepublic
2017/09/26 全球购物
沃达丰英国有限公司:Vodafone英国
2019/04/16 全球购物
美术师范毕业生自荐信
2013/11/16 职场文书
教师节促销活动方案
2014/02/14 职场文书
公务员政审个人鉴定
2014/02/25 职场文书
爱国主义教育活动总结
2014/05/07 职场文书
应届大专生自荐书
2014/06/16 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
学校运动会报道稿
2014/09/23 职场文书
学校2016年全国助残日活动总结
2016/04/01 职场文书
导游词之日本富士山
2020/01/06 职场文书
MySQL8.0.18配置多主一从
2021/06/21 MySQL