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事件写法实现代码
Jan 07 Javascript
JavaScript 学习笔记(十六) js事件
Feb 01 Javascript
JavaScript初学者应注意的七个细节详细介绍
Dec 27 Javascript
JS冒泡事件的快速解决方法
Dec 16 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
Oct 30 Javascript
Bootstrap每天必学之工具提示(Tooltip)插件
Apr 26 Javascript
bootstrap3 兼容IE8浏览器!
May 02 Javascript
基于Bootstrap实现图片轮播效果
May 22 Javascript
jquery之别踩白块游戏的简单实现
Jul 25 Javascript
微信小程序 picker 组件详解及简单实例
Jan 10 Javascript
JavaScript创建表格的方法
Apr 13 Javascript
如何使用 JavaScript 操作浏览器历史记录 API
Nov 24 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
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
php str_pad 函数使用详解
2009/01/13 PHP
php上传大文件设置方法
2016/04/14 PHP
统计PHP目录中的文件数方法
2019/03/05 PHP
Jquery中对数组的操作代码
2011/08/12 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
2013/08/28 Javascript
JS中prototype的用法实例分析
2015/03/19 Javascript
JS处理json日期格式化问题
2015/10/01 Javascript
JavaScript 数组中最大最小值
2016/06/05 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
浅谈jQuery操作类数组的工具方法
2016/12/23 Javascript
jQuery、zepto、js常用小技巧
2017/02/12 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
利用vue和element-ui设置表格内容分页的实例
2018/03/02 Javascript
简单的三步vuex入门
2018/05/20 Javascript
Nodejs实现微信分账的示例代码
2021/01/19 NodeJs
python实现文件分组复制到不同目录的例子
2014/06/04 Python
Python3基础之条件与循环控制实例解析
2014/08/13 Python
python实现通过pil模块对图片格式进行转换的方法
2015/03/24 Python
编写简单的Python程序来判断文本的语种
2015/04/07 Python
简单的Apache+FastCGI+Django配置指南
2015/07/22 Python
python实现mysql的读写分离及负载均衡
2018/02/04 Python
Python多继承顺序实例分析
2018/05/26 Python
matplotlib调整子图间距,调整整体空白的方法
2018/08/03 Python
在Pycharm中修改文件默认打开方式的方法
2019/01/17 Python
python中for in的用法详解
2020/04/17 Python
使用jupyter notebook运行python和R的步骤
2020/08/13 Python
CSS3实现简易版的刮刮乐效果
2016/09/27 HTML / CSS
日本卡普空电视游戏软件公司官方购物网站:e-CAPCOM
2018/07/17 全球购物
销售业务实习自我鉴定
2013/09/23 职场文书
家长给老师的道歉信
2014/01/13 职场文书
劳资协议书范本
2014/04/23 职场文书
幼师求职信
2014/06/23 职场文书
乡文化站暑期培训方案
2014/08/28 职场文书
Linux下使用C语言代码搭建一个简单的HTTP服务器
2022/04/13 Servers