js对字符串进行编码的方法总结(推荐)


Posted in Javascript onNovember 10, 2016

在用javascript对URL字符串进行编码中,虽然escape()、encodeURI()、encodeURIComponent()三种方法都能对一些影响URL完整性的特殊字符进行过滤。

但后两者是将字符串转换为UTF-8的方式来传输,解决了页面编码不一至导致的乱码问题。

例如:发送页与接受页的编码格式(Charset)不一致(假设发送页面是GB2312而接收页面编码是UTF-8),使用escape()转换传输中文字串就会出现乱码问题。

以下是JS下对URL进行编/解码的各种方法:

1、escape 方法:返回一个可在所有计算机上读取的编码 String 对象。

function escape(charString : String) : String

不会被此方法编码的字符: @ * / +

说明:escape 方法返回一个包含 charstring 内容的字符串值(Unicode 格式)。所有空格、标点、

重音符号以及任何其他非 ASCII 字符都用 %xx 编码替换,其中 xx 等于表示该字符的十六进制数。

例如,空格返回为“%20”。(字符值大于 255 的字符以 %uxxxx 格式存储。)

注意:escape 方法不能用来对“统一资源标识符”(URI) 进行编码。对其编码应使用 encodeURI 和encodeURIComponent 方法。

2、encodeURI 方法:返回编码为有效的统一资源标识符 (URI) 的字符串。

function encodeURI(URIString : String) : String

不会被此方法编码的字符:! @ # $ & * ( ) = : / ; ? + '

说明:encodeURI 方法返回一个已编码的 URI。如果将编码结果传递给 decodeURI,则将返回初始的字符串。encodeURI 不对下列字符进行编码:“:”、“/”、“;”和“?”。请使用

encodeURIComponent 对这些字符进行编码。

3、encodeURIComponent 方法:返回编码为统一资源标识符 (URI) 的有效组件的字符串。

function encodeURIComponent(encodedURIString : String) : String

不会被此方法编码的字符:! * ( ) '

说明:encodeURIComponent 方法返回一个已编码的 URI。如果将编码结果传递给decodeURIComponent,则将返回初始的字符串。因为 encodeURIComponent 方法将对所有字符编码,

请注意,如果该字符串代表一个路径,例如 /folder1/folder2/default.html,则其中的斜杠也将被编码,这样,当该字符串作为请求发送到 Web 服务器时它将是无效的。如果字符串中包含多个 URI 组件,请使用 encodeURI 方法进行编码。

4、unescape 方法:从用 escape 方法编码的 String 对象中返回已解码的字符串。

function unescape(charString : String) : String

说明:unescape 方法返回一个包含 charstring 内容的字符串值。所有以 %xx 十六进制形式编码的

字符都用 ASCII 字符集当中等效的字符代替。(以 %uxxxx 格式(Unicode 字符)编码的字符用十六

进制编码 xxxx 的 Unicode 字符代替。)

注意:unescape 方法不应用于解码“统一资源标识符”(URI)。请改用 decodeURI 和 decodeURIComponent 方法。

5、decodeURI 方法:返回一个已编码的统一资源标识符 (URI) 的非编码形式。

function decodeURI(URIstring : String) : String

decodeURIComponent 方法:返回统一资源标识符 (URI) 的一个已编码组件的非编码形式。

function decodeURIComponent(encodedURIString : String) : String

BTW:C#中对URL编码的方法。。。

编码:Server.UrlEncode(string)

解码:Server.UrlDecode(string) 前面三种客户端编码都可以用这个方法在后台解码。

以上就是小编为大家带来的js对字符串进行编码的方法总结(推荐)全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
Aug 05 Javascript
JScript 脚本实现文件下载 一般用于下载木马
Oct 29 Javascript
基于jquery的一个图片hover的插件
Apr 24 Javascript
jquery 中多条件选择器,相对选择器,层次选择器的区别
Jul 03 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
Jan 19 Javascript
鼠标经过出现气泡框的简单实例
Mar 17 Javascript
Node学习记录之cluster模块
May 31 Javascript
JS图片预加载插件详解
Jun 21 Javascript
JS实现闭包中的沙箱模式示例
Sep 07 Javascript
JS中常用的消息框总结
Feb 24 Javascript
vue使用v-if v-show页面闪烁,div闪现的解决方法
Oct 12 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
Mar 31 Javascript
EasyUI 结合JS导出Excel文件的实现方法
Nov 10 #Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
Nov 10 #Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
Nov 10 #Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
Nov 10 #Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
Nov 10 #Javascript
微信小程序 删除项目工程实现步骤
Nov 10 #Javascript
实现easyui的datagrid导出为excel的示例代码
Nov 10 #Javascript
You might like
php 计划任务 检测用户连接状态
2012/03/29 PHP
php实现递归与无限分类的方法
2015/02/16 PHP
PHP实现HTML页面静态化的方法
2015/11/04 PHP
JQuery 操作Javascript对象和数组的工具函数小结
2010/01/22 Javascript
让你的博客飘雪花超出屏幕依然看得见
2013/01/04 Javascript
如何使用json在前后台进行数据传输实例介绍
2013/04/11 Javascript
jquery利用ajax调用后台方法实例
2013/08/23 Javascript
javascript实现可拖动变色并关闭层窗口实例
2015/05/15 Javascript
angular route中使用resolve在uglify压缩后问题解决
2016/09/21 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
2017/09/20 jQuery
详解利用Angular实现多团队模块化SPA开发框架
2017/11/27 Javascript
vue项目中运用webpack动态配置打包多种环境域名的方法
2019/06/24 Javascript
[01:08:44]NB vs VP 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python 实现tar文件压缩解压的实例详解
2017/08/20 Python
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
详解 Python 与文件对象共事的实例
2017/09/11 Python
Python 删除整个文本中的空格,并实现按行显示
2018/07/24 Python
详解Python3中ceil()函数用法
2019/02/19 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
Tensorflow 实现分批量读取数据
2020/01/04 Python
python中watchdog文件监控与检测上传功能
2020/10/30 Python
Jeep牧马人、切诺基和自由人零配件:4 Wheel Drive Hardware
2017/07/02 全球购物
英国皇家邮政海外旗舰店:Royal Mail
2018/02/21 全球购物
购买一个高级域名:BuyDomains
2018/03/11 全球购物
银河香水:Galaxy Perfume
2019/03/25 全球购物
W Hamond官网:始于1979年的钻石专家
2020/07/20 全球购物
建筑实习自我鉴定
2013/10/18 职场文书
生产班组长岗位职责
2014/01/05 职场文书
企业党员公开承诺书
2014/03/26 职场文书
婚前协议书范本
2014/04/15 职场文书
大学生英文求职信范文
2015/03/19 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
2019年工作总结范文
2019/05/21 职场文书
导游词之贵州织金洞
2019/10/12 职场文书