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现实多行信息
Aug 26 Javascript
javascript两段代码,两个小技巧
Feb 04 Javascript
文本框获得焦点和失去焦点的判断代码
Mar 18 Javascript
在表单提交前进行验证的几种方式整理
Jul 31 Javascript
js实现文字跟随鼠标移动而移动的方法
Feb 28 Javascript
jQuery Mobile 触摸事件实例
Jun 04 Javascript
jQuery实现自动输入email、时间和域名的方法
Aug 24 Javascript
jQuery 的 ready()的纯js替代方法
Nov 20 Javascript
微信小程序 数据交互与渲染实例详解
Jan 21 Javascript
jQuery滚动插件scrollable.js用法分析
May 25 jQuery
JS实现元素上下左右移动效果
Oct 18 Javascript
微信小程序实现滑动切换自定义页码的方法分析
Dec 29 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
生成缩略图
2006/10/09 PHP
PHP学习之PHP运算符
2006/10/09 PHP
PHP下一个非常全面获取图象信息的函数
2008/11/20 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
一个简单且很好用的php分页类
2013/10/26 PHP
PHP中常用的转义函数
2014/02/28 PHP
PHP使用Mysql事务实例解析
2014/09/08 PHP
简单介绍PHP非阻塞模式
2016/03/03 PHP
jquery 读取页面load get post ajax 四种方式代码写法
2011/04/02 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
js获取或设置当前窗口url参数的小例子
2013/10/14 Javascript
js实现简单锁屏功能实例
2015/05/27 Javascript
Javascript实现图片不间断滚动的代码
2016/06/22 Javascript
JavaScript正则表达式简单实用实例
2017/06/23 Javascript
js学习总结之DOM2兼容处理this问题的解决方法
2017/07/27 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
在vue中使用setInterval的方法示例
2019/04/16 Javascript
Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)
2020/03/06 Javascript
JS定时器如何实现提交成功提示功能
2020/06/12 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
Python中列表和元组的相关语句和方法讲解
2015/08/20 Python
python实现按行切分文本文件的方法
2016/04/18 Python
Python文件和流(实例讲解)
2017/09/12 Python
解析Python3中的Import
2019/10/13 Python
Python reversed反转序列并生成可迭代对象
2020/10/22 Python
pytorch加载语音类自定义数据集的方法教程
2020/11/10 Python
美国木工工具和用品商店:Woodcraft
2019/10/30 全球购物
Claire’s法国:时尚配饰、美容、珠宝、头发
2021/01/16 全球购物
市级青年文明号申报材料
2014/05/26 职场文书
节约用水的口号
2014/06/20 职场文书
学风建设演讲稿
2014/09/12 职场文书
三方股东合作协议书范本
2014/09/28 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
初中生300字旷课检讨书
2014/11/19 职场文书
Python利用zhdate模块实现农历日期处理
2022/03/31 Python
python如何为list实现find方法
2022/05/30 Python