javascript 三种编解码方式


Posted in Javascript onFebruary 01, 2010

1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。

例如:<script language="javascript">document.write('<a href="http://passport.baidu.com/?logout&aid=7&u='+encodeURIComponent("http://cang.baidu.com/bruce42")+'">退出</a>');</script>

2、 进行url跳转时可以整体使用encodeURI

例如:Location.href=encodeURI("http://cang.baidu.com/do/s?word=百度&ct=21");

3、 js使用数据时可以使用escape[Huoho.Com编辑]

例如:搜藏中history纪录。

4、 escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。

最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)

escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z

encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

========================================================

unescape 方法

从用 escape 方法编码的 String 对象中返回已解码的字符串。

function unescape(charString : String) : String

参数

charString

必选。要解码的 String 对象或文本。

备注

unescape 方法返回一个包含 charstring 内容的字符串值。所有以 %xx 十六进制形式编码的字符都用 ASCII 字符集当中等效的字符代替。以 %uxxxx 格式(Unicode 字符)编码的字符用十六进制编码 xxxx 的 Unicode 字符代替。注意 unescape 方法不应用于解码“统一资源标识符”(URI)。请改用 decodeURI 和 decodeURIComponent 方法。

decodeURI 方法

返回一个已编码的统一资源标识符 (URI) 的非编码形式。

function decodeURI(URIstring : String) : String

参数

URIstring

必选。表示编码 URI 的字符串。

备注

使用 decodeURI 方法代替已经过时的 unescape 方法。

decodeURI 方法返回一个字符串值。

如果 URIString 无效,将发生 URIError。

decodeURIComponent 方法

返回统一资源标识符 (URI) 的一个已编码组件的非编码形式。

function decodeURIComponent(encodedURIString : String) : String

必选的 encodedURIString 参数是一个表示已编码的 URI 组件的值。

备注

URIComponent 是一个完整的 URI 的一部分

Javascript 相关文章推荐
原生javascript获取元素样式属性值的方法
Dec 25 Javascript
jQuery:节点(插入,复制,替换,删除)操作
Mar 04 Javascript
设置checkbox为只读(readOnly)的两种方式
Oct 11 Javascript
用javascript删除当前行,添加行(示例代码)
Nov 25 Javascript
js生成随机数(指定范围)的实例代码
Jul 10 Javascript
js图片切换具体实现代码
Oct 13 Javascript
JavaScript获取短信验证码(周期性)
Dec 29 Javascript
80%应聘者都不及格的JS面试题
Mar 21 Javascript
Bootstrap标签页(Tab)插件切换echarts不显示问题的解决
Jul 13 Javascript
JavaScript Window窗口对象属性和使用方法
Jan 19 Javascript
如何手写简易的 Vue Router
Oct 10 Javascript
解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)
Oct 27 Javascript
对字符串进行HTML编码和解码的JavaScript函数
Feb 01 #Javascript
javaScript 关闭浏览器 (不弹出提示框)
Jan 31 #Javascript
javascript让setInteval里的函数参数中的this指向特定的对象
Jan 31 #Javascript
详细讲解JS节点知识
Jan 31 #Javascript
javascript中的array数组使用技巧
Jan 31 #Javascript
jquery 批量上传图片实现代码
Jan 28 #Javascript
Jquery 常用方法经典总结
Jan 28 #Javascript
You might like
社区(php&amp;&amp;mysql)一
2006/10/09 PHP
php知道与问问的采集插件代码
2010/10/12 PHP
用PHP实现的四则运算表达式计算实现代码
2011/08/02 PHP
PHP读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
php+js iframe实现上传头像界面无跳转
2014/04/29 PHP
PHP扩展CURL的用法详解
2014/06/20 PHP
thinkphp验证码的实现(form、ajax实现验证)
2016/07/28 PHP
php 基础函数
2017/02/10 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
2019/08/14 PHP
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
jquery 操作DOM的基本用法分享
2012/04/05 Javascript
js 有框架页面跳转(target)三种情况下的应用
2013/04/09 Javascript
js的隐含参数(arguments,callee,caller)使用方法
2014/01/28 Javascript
node.js中watch机制详解
2014/11/17 Javascript
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
JavaScript中的boolean布尔值使用学习及相关技巧讲解
2016/05/26 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
jquery请求servlet实现ajax异步请求的示例
2017/06/03 jQuery
用JS编写一个函数,返回数组中重复出现过的元素(实例)
2017/09/14 Javascript
VueJs组件之父子通讯的方式
2018/05/06 Javascript
超详细的5个Shell脚本实例分享(值得收藏)
2019/08/15 Javascript
Python实现将数据库一键导出为Excel表格的实例
2016/12/30 Python
Win10下python3.5和python2.7环境变量配置教程
2018/09/18 Python
详解Python3中的迭代器和生成器及其区别
2018/10/09 Python
Python中的取模运算方法
2018/11/10 Python
Keras 切换后端方式(Theano和TensorFlow)
2020/06/19 Python
Bonami斯洛伐克:购买家具和家居饰品
2019/07/02 全球购物
求两个数的乘积和商数,该作用由宏定义来实现
2013/03/13 面试题
单位成立周年感言
2014/01/26 职场文书
教师专业自荐书范文
2014/02/10 职场文书
学校领导四风问题整改措施思想汇报
2014/10/09 职场文书
四风批评与自我批评发言稿
2014/10/14 职场文书
财务工作个人总结
2015/02/27 职场文书
2015初中教导处工作总结
2015/07/21 职场文书
Java Dubbo框架知识点梳理
2021/06/26 Java/Android
源码分析Redis中 set 和 sorted set 的使用方法
2022/03/22 Redis