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 相关文章推荐
关于juqery radio写法的兼容性问题(新老版本jquery)
Jun 14 Javascript
JavaScript之引用类型介绍
Aug 10 Javascript
js判断游览器类型及版本号的代码
May 11 Javascript
封装了一个支持匿名函数的Javascript事件监听器
Jun 05 Javascript
jQuery简单注册和禁用全局事件的方法
Jul 25 Javascript
微信小程序 for 循环详解
Oct 09 Javascript
javascript实现根据函数名称字符串动态执行函数的方法示例
Dec 28 Javascript
简单实现js倒计时功能
Feb 13 Javascript
Angular 2.0+ 的数据绑定的实现示例
Aug 09 Javascript
JS获取url参数,JS发送json格式的POST请求方法
Mar 29 Javascript
详解用JS添加和删除class类名
Mar 25 Javascript
VUE组件中的 Drawer 抽屉实现代码
Aug 06 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/06/06 PHP
PHP mail()函数使用及配置方法
2014/01/14 PHP
PHP和javascript常用正则表达式及用法实例
2014/07/01 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
Yii中实现处理前后台登录的新方法
2015/12/28 PHP
禁止刷新,回退的JS
2006/11/25 Javascript
javascript 内存回收机制理解
2011/01/17 Javascript
jQuery遍历Form示例代码
2013/09/03 Javascript
javascript事件冒泡详解和捕获、阻止方法
2014/04/12 Javascript
javascript截取字符串小结
2015/04/28 Javascript
谈谈impress.js初步理解
2015/09/09 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
AngularJS监听路由变化的方法
2017/03/07 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
2017/10/26 Javascript
基于vue cli重构多页面脚手架过程详解
2018/01/23 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
Vue 打包的静态文件不能直接运行的原因及解决办法
2020/11/19 Vue.js
Python3处理文件中每个词的方法
2015/05/22 Python
使用Python画出小人发射爱心的代码
2019/11/23 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
Python sep参数使用方法详解
2020/02/12 Python
Python 实现Image和Ndarray互相转换
2020/02/19 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
2020/07/28 Python
使用CSS3和Checkbox实现JQuery的一些效果
2015/08/03 HTML / CSS
HTML块级标签汇总(小篇)
2016/07/13 HTML / CSS
LG西班牙网上商店:Tienda LG Online Es
2019/07/30 全球购物
Linux文件操作命令都有哪些
2016/07/23 面试题
自动一体化专业求职信
2014/03/15 职场文书
户外活动总结范文
2014/04/30 职场文书
校外活动方案
2014/08/28 职场文书
干部作风整顿自我剖析材料和整改措施
2014/09/18 职场文书
贪污检举信范文
2015/03/02 职场文书
员工工作表现自我评价
2015/03/06 职场文书
西部计划志愿者工作总结
2015/08/11 职场文书
Python爬虫基础之爬虫的分类知识总结
2021/05/13 Python
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python