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中的对象化编程
Jan 16 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
Jan 06 Javascript
Web开发必知Javascript技巧大全
Feb 23 Javascript
jquery常用的12个小功能
Jul 22 Javascript
Javascript获取background属性中url的值
Oct 17 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
Nov 07 Javascript
JavaScript中 DOM操作方法小结
Apr 25 Javascript
详解vue前后台数据交互vue-resource文档
Jul 19 Javascript
vue+element实现打印页面功能
May 20 Javascript
JavaScript this在函数中的指向及实例详解
Oct 14 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
May 14 Javascript
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
Feb 15 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
英雄试炼之肉山谷—引领RPG新潮流
2020/04/20 DOTA
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
自定义php类(查找/修改)xml文档
2013/03/26 PHP
php实现转换html格式为文本格式的方法
2016/05/16 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
2017/08/18 PHP
基于PHP实现的多元线性回归模拟曲线算法
2018/01/30 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
js技巧--转义符&quot;\&quot;的妙用
2007/01/09 Javascript
滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码
2009/12/28 Javascript
javascript+mapbar实现地图定位
2010/04/09 Javascript
特殊情况下如何获取span里面的值
2014/05/20 Javascript
我的Node.js学习之路(一)
2014/07/06 Javascript
js和jquery实现监听键盘事件示例代码
2020/06/24 Javascript
轻松掌握jQuery中wrap()与unwrap()函数的用法
2016/05/24 Javascript
使用jquery datatable和bootsrap创建表格实例代码
2017/03/17 Javascript
JavaScript实现获取远程的html到当前页面中
2017/03/26 Javascript
angular6开发steps步骤条组件
2019/07/04 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
分享几道你可能遇到的python面试题
2017/07/24 Python
Python标准模块--ContextManager上下文管理器的具体用法
2017/11/27 Python
Python解析命令行读取参数--argparse模块使用方法
2018/01/23 Python
python爬取个性签名的方法
2018/06/17 Python
浅谈python之高阶函数和匿名函数
2019/03/21 Python
Numpy 中的矩阵求逆实例
2019/08/26 Python
Numpy之将矩阵拉成向量的实例
2019/11/30 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
2020/04/16 Python
Python接收手机短信的代码整理
2020/08/02 Python
python 操作excel表格的方法
2020/12/05 Python
简单html5代码获取地理位置
2014/03/31 HTML / CSS
详解HTML5 Canvas标签及基本使用
2020/01/10 HTML / CSS
优秀研究生自我鉴定
2013/12/04 职场文书
求职意向书范文
2014/04/01 职场文书
春游踏青活动方案
2014/08/14 职场文书
清明祭英烈活动总结
2015/05/11 职场文书
故意杀人罪辩护词
2015/05/21 职场文书
vite+vue3.0+ts+element-plus快速搭建项目的实现
2021/06/24 Vue.js