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 相关文章推荐
关于可运行代码无法正常执行的使用说明
May 13 Javascript
用js来解决ajax读取页面乱码
Nov 28 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
Sep 10 Javascript
jQuery异步加载数据并添加事件示例
Aug 24 Javascript
影响jQuery使用的14个方面
Sep 01 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
Apr 21 Javascript
跟我学习javascript的prototype使用注意事项
Nov 17 Javascript
第九章之路径分页标签与徽章组件
Apr 25 Javascript
jQuery插件ajaxfileupload.js实现上传文件
Oct 23 Javascript
微信小程序自定义模态对话框实例详解
Aug 16 Javascript
Vue+ElementUI实现表单动态渲染、可视化配置的方法
Mar 07 Javascript
详解基于DllPlugin和DllReferencePlugin的webpack构建优化
Jun 28 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简单截取字符串代码示例
2016/10/19 PHP
微信 开发生成带参数的二维码的实例
2016/11/23 PHP
捕获关闭窗口的脚本
2009/01/10 Javascript
在js中单选框和复选框获取值的方式
2009/11/06 Javascript
js+div实现图片滚动效果代码
2014/02/10 Javascript
js基于setTimeout与setInterval实现多线程
2016/06/17 Javascript
原生JS实现ajax与ajax的跨域请求实例
2017/12/01 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
2018/03/06 Javascript
Vue实现移动端左右滑动效果的方法
2018/11/27 Javascript
Vue登录主页动态背景短视频制作
2019/09/21 Javascript
jQuery HTML设置内容和属性操作实例分析
2020/05/20 jQuery
three.js显示中文字体与tween应用详析
2021/01/04 Javascript
[44:30]完美世界DOTA2联赛PWL S2 GXR vs Magma 第一场 11.25
2020/11/26 DOTA
Python Web框架Flask中使用百度云存储BCS实例
2015/02/08 Python
浅谈python字符串方法的简单使用
2016/07/18 Python
Python实现Youku视频批量下载功能
2017/03/14 Python
python利用微信公众号实现报警功能
2018/06/10 Python
Django-Rest-Framework 权限管理源码浅析(小结)
2018/11/12 Python
Python编程实现tail-n查看日志文件的方法
2019/07/08 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
2019/09/04 Python
python 常见的排序算法实现汇总
2020/08/21 Python
Python识别处理照片中的条形码
2020/11/16 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
2013/11/05 HTML / CSS
美国时尚在线:Showpo
2017/09/08 全球购物
Brother加拿大官网:打印机、贴标机、缝纫机
2019/10/09 全球购物
阿迪达斯越南官网:adidas越南
2020/07/19 全球购物
高校学生干部的自我评价分享
2013/11/04 职场文书
不假外出检讨书
2014/01/27 职场文书
偷看我的初中毕业鉴定
2014/01/29 职场文书
工伤赔偿协议书范本
2014/04/15 职场文书
感恩之星事迹材料
2014/05/03 职场文书
天猫活动策划方案
2014/08/21 职场文书
党的群众路线教育实践活动通讯稿
2014/09/10 职场文书
授权委托书样本
2014/09/25 职场文书
同意报考公务员证明
2015/06/17 职场文书