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函数的引用, 关于内存的开销
Sep 17 Javascript
JS TextArea字符串长度限制代码集合
Oct 31 Javascript
jQuery 数据缓存模块进化史详细介绍
Nov 19 Javascript
通过遮罩层实现浮层DIV登录的js代码
Feb 07 Javascript
javascript根据时间生成m位随机数最大13位
Oct 30 Javascript
JavaScript开发人员的10个关键习惯小结
Dec 05 Javascript
Angular的自定义指令以及实例
Dec 26 Javascript
老生常谈jacascript DOM节点获取
Apr 17 Javascript
微信小程序 图片宽高自适应详解
May 11 Javascript
vue监听键盘事件的快捷方法【推荐】
Jul 11 Javascript
js实现文件上传功能 后台使用MultipartFile
Sep 08 Javascript
java和js实现的洗牌小程序
Sep 30 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
西德产收音机
2021/03/01 无线电
php中$this-&amp;gt;含义分析
2009/11/29 PHP
腾讯QQ微博API接口获取微博内容
2013/10/30 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
PHP双向链表定义与用法示例
2018/01/31 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
imagettftext() 失效,不起作用
2021/03/09 PHP
js读取本地excel文档数据的代码
2010/11/11 Javascript
再谈javascript图片预加载技术(详细演示)
2011/03/12 Javascript
js创建元素(节点)示例
2014/01/02 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
2014/02/11 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
2015/04/21 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
JavaScript实现简单的tab选项卡切换
2016/01/05 Javascript
jQuery实现微信长按识别二维码功能
2016/08/26 Javascript
Javascript 普通函数和构造函数的区别
2016/11/05 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
2017/10/25 Javascript
Vue中跨域及打包部署到nginx跨域设置方法
2019/08/26 Javascript
JavaScript onclick事件使用方法详解
2020/05/15 Javascript
Python 装饰器深入理解
2017/03/16 Python
python实现三次样条插值
2018/12/17 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
2019/02/22 Python
pandas 对日期类型数据的处理方法详解
2019/08/08 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
2019/09/16 Python
解决jupyter notebook 前面书写后面内容消失的问题
2020/04/13 Python
pycharm 对代码做静态检查操作
2020/06/09 Python
Python logging模块进行封装实现原理解析
2020/08/07 Python
Python hashlib和hmac模块使用方法解析
2020/12/08 Python
新西兰领先的鞋类和靴子网上商城:Merchant 1948
2017/09/08 全球购物
转让协议书范本
2014/04/15 职场文书
社会工作专业求职信
2014/07/15 职场文书
出国导师推荐信
2015/03/25 职场文书
浅谈Go语言多态的实现与interface使用
2021/06/16 Golang
Python中的变量与常量
2021/11/11 Python
Python数据可视化之Seaborn的安装及使用
2022/04/19 Python