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 相关文章推荐
jQuery 可以拖动的div实现代码 脚本之家修正版
Jun 26 Javascript
XMLHTTPRequest的属性和方法简介
Nov 23 Javascript
与jquery serializeArray()一起使用的函数,主要来方便提交表单
Jan 31 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
Jan 06 Javascript
JavaScript实现弹出子窗口并传值给父窗口
Dec 18 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
Jun 02 Javascript
JS原型链怎么理解
Jun 27 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
Aug 11 Javascript
AngularJS 中ui-view传参的实例详解
Aug 25 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
Aug 20 Javascript
在layui中select更改后生效的方法
Sep 05 Javascript
JavaScript实现tab栏切换效果
Mar 16 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
ThinkPHP关联模型操作实例分析
2012/09/23 PHP
ThinkPHP之N方法实例详解
2014/06/20 PHP
字符串长度函数strlen和mb_strlen的区别示例介绍
2014/09/09 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
用jquery中插件dialog实现弹框效果实例代码
2013/11/15 Javascript
jquery引用方法时传递参数原理分析
2014/10/13 Javascript
Nodejs学习笔记之Global Objects全局对象
2015/01/13 NodeJs
jquery+css实现的红色线条横向二级菜单效果
2015/08/22 Javascript
详解JavaScript的另类写法
2016/04/11 Javascript
纯JavaScript手写图片轮播代码
2016/10/20 Javascript
基于JavaScript实现随机颜色输入框
2016/12/10 Javascript
js代码延迟一定时间后执行一个函数的实例
2017/02/15 Javascript
JavaScript初学者必看“new”
2017/06/12 Javascript
深入理解Webpack 中路径的配置
2017/06/17 Javascript
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
2018/05/15 NodeJs
vue 使用html2canvas将DOM转化为图片的方法
2018/09/11 Javascript
Vue 中如何正确引入第三方模块的方法步骤
2019/05/05 Javascript
jQuery位置选择器用法实例分析
2019/06/28 jQuery
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
[07:47]DOTA2国际邀请赛采访专栏:探访Valve总部
2013/08/08 DOTA
从零学python系列之数据处理编程实例(二)
2014/05/22 Python
python实现在控制台输入密码不显示的方法
2015/07/02 Python
解决Python下json.loads()中文字符出错的问题
2018/12/19 Python
python实现贪吃蛇小游戏
2020/03/21 Python
python实现简单五子棋游戏
2019/06/18 Python
python中的decimal类型转换实例详解
2019/06/26 Python
Python调用Redis的示例代码
2020/11/24 Python
乐观大学生的自我评价
2014/01/10 职场文书
小加工厂管理制度
2014/01/21 职场文书
网络工程师职业规划
2014/02/10 职场文书
三好学生事迹材料
2014/12/24 职场文书
奥巴马开学演讲观后感
2015/06/12 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书
大学生如何逃脱“毕业季创业队即散伙”魔咒?
2019/08/19 职场文书
python中使用 unittest.TestCase单元测试的用例详解
2021/08/30 Python