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 相关文章推荐
js Function类型
Dec 04 Javascript
基于jquery的时间段实现代码
Aug 02 Javascript
js弹出窗口之弹出层的小例子
Jun 17 Javascript
js实现图片在未加载完成前显示加载中字样
Sep 03 Javascript
AngularJS入门教程之Hello World!
Dec 06 Javascript
JavaScript通过字典进行字符串翻译转换的方法
Mar 19 Javascript
json格式的javascript对象用法分析
Jul 04 Javascript
js倒计时小实例(多次定时)
Dec 08 Javascript
Vue服务端渲染实践之Web应用首屏耗时最优化方案
Mar 22 Javascript
vue模仿网易云音乐的单页面应用
Apr 24 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
Sep 27 Javascript
JS通过识别id、value值对checkbox设置选中状态
Feb 19 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生成静态页的实现方法
2013/05/10 PHP
php引用传值实例详解学习
2013/11/06 PHP
改写ThinkPHP的U方法使其路由下分页正常
2014/07/02 PHP
PHP解码unicode编码的中文字符代码分享
2014/08/13 PHP
简单解决新浪SAE无法上传文件的问题
2015/05/13 PHP
详解Yii2 定制表单输入字段的标签和样式
2017/01/04 PHP
php获取网站根目录物理路径的几种方法(推荐)
2017/03/04 PHP
有效的捕获JavaScript焦点的方法小结
2009/10/08 Javascript
JS面向对象编程 for Cookie
2010/09/19 Javascript
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
2011/11/14 Javascript
JavaScript中数组的排序、乱序和搜索实现代码
2011/11/30 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
jquery获取节点名称
2015/04/26 Javascript
JS中数组重排序方法
2016/11/11 Javascript
微信公众号 摇一摇周边功能开发
2016/12/08 Javascript
node.js平台下的mysql数据库配置及连接
2017/03/31 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
2017/12/22 Javascript
如何利用ES6进行Promise封装总结
2019/02/11 Javascript
Angular实现svg和png图片下载实现
2019/05/05 Javascript
Vue页面渲染中key的应用实例教程
2021/01/12 Vue.js
python基础教程之五种数据类型详解
2017/01/12 Python
分析Python中解析构建数据知识
2018/01/20 Python
Python基于sklearn库的分类算法简单应用示例
2018/07/09 Python
python爬取微信公众号文章的方法
2019/02/26 Python
python从入门到精通 windows安装python图文教程
2019/05/18 Python
Python脚本操作Excel实现批量替换功能
2019/11/20 Python
查看jupyter notebook每个单元格运行时间实例
2020/04/22 Python
django 数据库 get_or_create函数返回值是tuple的问题
2020/05/15 Python
Python如何实现邮件功能
2020/05/27 Python
Keras 实现加载预训练模型并冻结网络的层
2020/06/15 Python
Python关于拓扑排序知识点讲解
2021/01/04 Python
CSS3圆角和渐变2种常用功能详解
2016/01/06 HTML / CSS
财务管理专业应届毕业生求职信
2013/09/22 职场文书
校园门卫岗位职责
2013/12/09 职场文书
项目战略合作意向书
2015/05/08 职场文书
Oracle创建只读账号的详细步骤
2021/06/07 Oracle