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高级程序设计(第3版)学习笔记9 js函数(下)
Oct 11 Javascript
jquery禁用右键单击功能屏蔽F5刷新
Mar 17 Javascript
JavaScript定义类和对象的方法
Nov 26 Javascript
JavaScript中的Promise使用详解
Jun 24 Javascript
纯javascript代码实现计算器功能(三种方法)
Sep 07 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
Mar 01 Javascript
js基于setTimeout与setInterval实现多线程
Jun 17 Javascript
easyui中combotree循环获取父节点至根节点并输出路径实现方法
Nov 10 Javascript
详解堆的javascript实现方法
Nov 29 Javascript
weex slider实现滑动底部导航功能
Aug 28 Javascript
JS数组方法shift()、unshift()用法实例分析
Jan 18 Javascript
JavaScript实现网页跨年倒计时
Dec 02 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:风雨欲来 路在何方?
2006/10/09 PHP
php ss7.5的数据调用 (笔记)
2010/03/08 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
2017/01/22 PHP
一个小型js框架myJSFrame附API使用帮助
2008/06/28 Javascript
用于判断用户注册时,密码强度的JS代码
2009/01/01 Javascript
Javascript学习笔记一 之 数据类型
2010/12/15 Javascript
面向对象Javascript核心支持代码分享
2012/05/23 Javascript
html5的自定义data-*属性和jquery的data()方法的使用示例
2013/08/21 Javascript
JQuery为页面Dom元素绑定事件及解除绑定方法
2014/04/23 Javascript
JQuery 控制内容长度超出规定长度显示省略号
2014/05/23 Javascript
Node.js安装教程和NPM包管理器使用详解
2014/08/16 Javascript
js计算任意值之间随机数的方法
2015/01/16 Javascript
JavaScript使用键盘输入控制实现数字验证功能
2016/08/19 Javascript
在JSP中如何实现MD5加密的方法
2016/11/02 Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
2016/11/21 Javascript
Vue2.0表单校验组件vee-validate的使用详解
2017/05/02 Javascript
详解webpack分离css单独打包
2017/06/21 Javascript
JavaScript组合设计模式--改进引入案例分析
2020/05/23 Javascript
Python基于ThreadingTCPServer创建多线程代理的方法示例
2018/01/11 Python
Python数据处理numpy.median的实例讲解
2018/04/02 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
2019/10/11 Python
Tensorflow进行多维矩阵的拆分与拼接实例
2020/02/07 Python
Python 批量读取文件中指定字符的实现
2020/03/06 Python
Python extract及contains方法代码实例
2020/09/11 Python
pycharm中选中一个单词替换所有重复单词的实现方法
2020/11/17 Python
Marc Jacobs官方网站:美国奢侈品牌
2017/08/29 全球购物
EJB与JAVA BEAN的区别
2016/08/29 面试题
函授大专自我鉴定
2013/11/01 职场文书
社区优秀志愿者材料
2014/02/02 职场文书
工地安全标语
2014/06/07 职场文书
2014年评职称工作总结
2014/11/20 职场文书
工作年限证明模板
2015/06/15 职场文书
《中华上下五千年》读后感3篇
2019/11/29 职场文书
SpringBoot+VUE实现数据表格的实战
2021/08/02 Java/Android
详解Java七大阻塞队列之SynchronousQueue
2021/09/04 Java/Android