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高级程序设计 读书笔记之十 本地对象Date日期
Feb 27 Javascript
node.js中的fs.readlinkSync方法使用说明
Dec 17 Javascript
javascript仿百度输入框提示自动下拉补全
Jan 07 Javascript
jQuery实现动态文字搜索功能
Jan 05 Javascript
JavaScript中匿名函数的递归调用
Jan 22 Javascript
js中变量的连续赋值(实例讲解)
Jul 08 Javascript
angular中的cookie读写方法
Aug 02 Javascript
JS计算输出100元钱买100只鸡问题的解决方法
Jan 04 Javascript
微信小程序之分享页面如何返回首页的示例
Mar 28 Javascript
vue axios数据请求及vue中使用axios的方法
Sep 10 Javascript
基于jquery ajax的多文件上传进度条过程解析
Sep 11 jQuery
echarts实现折线图的拖拽效果
Dec 19 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产生随机字符串函数
2006/12/06 PHP
PHP如何读取由JavaScript设置的Cookie
2017/03/22 PHP
Add a Formatted Table to a Word Document
2007/06/15 Javascript
在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
2008/12/02 Javascript
jQuery源码分析-03构造jQuery对象-工具函数
2011/11/14 Javascript
javascript中的缓动效果实现程序
2012/12/29 Javascript
node.js中的fs.openSync方法使用说明
2014/12/17 Javascript
javascript实现C语言经典程序题
2015/11/29 Javascript
全面理解闭包机制
2016/07/11 Javascript
Vue.js每天必学之构造器与生命周期
2016/09/05 Javascript
JavaScript制作简单分页插件
2016/09/11 Javascript
js数组操作方法总结(必看篇)
2016/11/22 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
2017/02/10 Javascript
利用NPM淘宝的node.js镜像加速nvm
2017/03/27 Javascript
详解vee-validate的使用个人小结
2017/06/07 Javascript
Webpack执行命令参数详解
2017/06/17 Javascript
基于JS递归函数细化认识及实用实例(推荐)
2017/08/07 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
2017/10/26 Javascript
angularJs-$http实现百度搜索时的动态下拉框示例
2018/02/27 Javascript
小程序组件之自定义顶部导航实例
2019/06/12 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
2019/09/26 Javascript
vue 翻页组件vue-flip-page效果
2020/02/05 Javascript
原生JS实现拖拽效果
2020/12/04 Javascript
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
2015/03/30 Python
python 系统调用的实例详解
2017/07/11 Python
详解Python中如何写控制台进度条的整理
2018/03/07 Python
pytorch 预训练层的使用方法
2019/08/20 Python
python 函数的缺省参数使用注意事项分析
2019/09/17 Python
配置python的编程环境之Anaconda + VSCode的教程
2020/03/29 Python
pandas数据分组groupby()和统计函数agg()的使用
2021/03/04 Python
使用CSS3实现SVG路径描边动画效果入门教程
2019/10/21 HTML / CSS
2015年财政局工作总结
2015/05/21 职场文书
python析构函数用法及注意事项
2021/06/22 Python
Python图片验证码降噪和8邻域降噪
2021/08/30 Python
Java SSM配置文件案例详解
2021/08/30 Java/Android