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循环变量注册dom事件 之强大的闭包
Sep 08 Javascript
jQuery语法总结和注意事项小结
Nov 11 Javascript
深入浅出分析javaScript中this用法
May 09 Javascript
Bootstrap表单布局
Jul 19 Javascript
jQuery+正则+文本框只能输入数字的实现方法
Oct 07 Javascript
对比分析Django的Q查询及AngularJS的Datatables分页插件
Feb 07 Javascript
vue过渡和animate.css结合使用详解
Jun 14 Javascript
layer弹出层父子页面事件相互调用方法
Aug 17 Javascript
jQuery实现的简单手风琴效果示例
Aug 29 jQuery
JavaScript canvas基于数组生成柱状图代码实例
Mar 06 Javascript
vue动态设置路由权限的主要思路
Jan 13 Vue.js
详解Vue3使用axios的配置教程
Apr 29 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
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
JavaScript CSS修改学习第六章 拖拽
2010/02/19 Javascript
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
2011/04/06 Javascript
javascript ready和load事件的区别示例介绍
2013/08/30 Javascript
详解微信小程序 页面跳转 传递参数
2016/12/08 Javascript
图解Javascript——作用域、作用域链、闭包
2017/03/21 Javascript
echarts饼图扇区添加点击事件的实例
2017/10/16 Javascript
JS实现的抛物线运动效果示例
2018/01/30 Javascript
axios发送post请求springMVC接收不到参数的解决方法
2018/03/05 Javascript
vue.js自定义组件directives的实例代码
2018/11/09 Javascript
vue中选项卡点击切换且能滑动切换功能的实现代码
2018/11/25 Javascript
移动端吸顶fixbar的解决方案详解
2019/07/17 Javascript
原生JS实现留言板功能
2020/02/08 Javascript
python实现挑选出来100以内的质数
2015/03/24 Python
解决Python下json.loads()中文字符出错的问题
2018/12/19 Python
python实现年会抽奖程序
2019/01/22 Python
Python安装与基本数据类型教程详解
2019/05/29 Python
Python弹出输入框并获取输入值的实例
2019/06/18 Python
pandas.read_csv参数详解(小结)
2019/06/21 Python
Python如何使用正则表达式爬取京东商品信息
2020/06/01 Python
基于pycharm实现批量修改变量名
2020/06/02 Python
HTML5实现预览本地图片
2016/02/17 HTML / CSS
西班牙创意礼品和小工具网上商店:Curiosite
2016/07/26 全球购物
Dr. Martens马汀博士官网:马丁靴始祖品牌
2016/10/15 全球购物
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
Bally巴利英国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/07 全球购物
LVMH旗下最大的奢侈品网站平台:24S
2020/05/24 全球购物
初级软件工程师面试题 Junior Software Engineer Interview
2015/02/15 面试题
会计实习生自我鉴定
2013/12/12 职场文书
后勤管理员岗位职责
2014/08/27 职场文书
2014领导班子专题民主生活会对照检查材料思想汇报
2014/09/23 职场文书
2014年最新领导班子整改方案
2014/09/27 职场文书
2016年国培研修日志
2015/11/13 职场文书
MySQL中几种插入和批量语句实例详解
2021/09/14 MySQL
Java 实战项目之家居购物商城系统详解流程
2021/11/11 Java/Android