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 相关文章推荐
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
Sep 27 Javascript
JavaScript中的闭包原理分析
Mar 08 Javascript
javascript 精粹笔记
May 09 Javascript
js动态创建表格,删除行列的小例子
Jul 20 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
Aug 28 Javascript
实例讲解javascript注册事件处理函数
Jan 09 Javascript
JS 实现随机验证码功能
Feb 15 Javascript
js canvas实现放大镜查看图片功能
Jun 08 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
Oct 27 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
Jun 26 Javascript
vue proxy 的优势与使用场景实现
Jun 15 Javascript
一起来了解一下JavaScript的预编译(小结)
Mar 01 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
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
thinkphp模板用法和内容输出实例
2014/11/28 PHP
php页面缓存方法小结
2015/01/10 PHP
smarty内置函数config_load用法实例
2015/01/22 PHP
替换php字符串中的单引号为双引号的方法
2017/02/16 PHP
php + WebUploader实现图片批量上传功能
2019/05/06 PHP
juqery 学习之六 CSS--css、位置、宽高
2011/02/11 Javascript
全面解析Bootstrap表单使用方法(表单样式)
2015/11/24 Javascript
浅析JS获取url中的参数实例代码
2016/06/14 Javascript
EasyUI Pagination 分页的两种做法小结
2016/07/09 Javascript
jQuery对checkbox 复选框的全选全不选反选的操作
2016/08/09 Javascript
vue2.0结合DataTable插件实现表格动态刷新的方法详解
2017/03/17 Javascript
JQuery EasyUI的一些常用组件
2017/07/12 jQuery
微信小程序switch组件使用详解
2018/01/31 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
2018/06/13 Javascript
详解JavaScript 浮点数运算的精度问题
2019/07/23 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
JS如何定义用字符串拼接的变量
2020/07/11 Javascript
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
Python实现求两个csv文件交集的方法
2017/09/06 Python
有趣的python小程序分享
2017/12/05 Python
Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
2018/07/25 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
对python中的 os.mkdir和os.mkdirs详解
2018/10/16 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
用Python写一个自动木马程序
2019/09/17 Python
Python partial函数原理及用法解析
2019/12/11 Python
Python API len函数操作过程解析
2020/03/05 Python
python支持多继承吗
2020/06/19 Python
python RSA加密的示例
2020/12/09 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
2021/02/04 Python
Linux上比较文件的命令都有哪些
2013/09/28 面试题
职工运动会感言
2014/02/07 职场文书
运动会闭幕式通讯稿
2015/07/18 职场文书
小学英语教师2015年度个人工作总结
2015/10/14 职场文书
一次线上mongo慢查询问题排查处理记录
2022/03/18 MongoDB