js 对中文字符的 解码 与 编码
1、 decodeURIComponent
与 encodeURIComponent
1.1、decodeURIComponent
解码字符
功能: 解码由 encodeURIComponent 方法或者其它类似方法编码的标识符,
一般用于解码标识符为中文
。Demo:
let encodeStr = encodeURIComponent('中文') console.log(encodeStr) // "%E4%B8%AD%E6%96%87"let decodeStr = decodeURIComponent(encodeStr) console.log(decodeStr) // "中文"
1.2、encodeURIComponent
编码字符
- 功能: 把字符串作为 URI 组件进行编码
- Demo:
var uri="李先生&car=abc";
document.write(encodeURIComponent(uri)); //%E6%9D%8E%E5%85%88%E7%94%9F%26car%3Dabc
2、decodeURI
与 encodeURI
2.1、encodeURI
函数可把字符串作为 URI 进行编码。
注意: 对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是
不会进行转义的: , / ? : @ & = + $ #
(可以使用 encodeURIComponent() 方法分别对特殊含义的 ASCII 标点符号进行编码。)。空格转化为%20Demo:
var uri="my test.php?name=陈先生&car=saab"; console.log(encodeURI(uri)); // my%20test.php?name=%E9%99%88%E5%85%88%E7%94%9F&car=saab
2.2、decodeURI
函数可对 encodeURI() 函数编码过的 URI 进行解码。
- 功能: 可对 encodeURI() 函数编码过的 URI 进行解码
- Demo:
var uri="my test.php?name=陈先生&car=saab";var encodeUri = encodeURI(uri);var decodeUri = decodeURI(encodeUri );console.log( decodeUri ); // my test.php?name=陈先生&car=saab
3、decodeURI与decodeURIComponent区别
encodeURI()主要用于整个URI(例如,http://www.jxbh.cn/illegal value.htm),
encode-URIComponent()主要用于对URI中的某一段(例如前面URI中的illegal value.htm)进行编码encodeURI()不会对本身属于URI的特殊字符进行编码,例如
冒号、正斜杠、问号、等号和井号
;
encodeURIComponent()则会对它发现的任何非标准字符进行编码。var uri="http://www.jxbh.cn/illegal?name=李 "; console.log(encodeURI(uri)); // 不对 冒号、正斜杠、问号、等号和井号 编码 //http://www.jxbh.cn/illegal?name=%E6%9D%8E%20console.log( encodeURIComponent(uri)); // 对 冒号、正斜杠、问号、等号和井号 编码 //http%3A%2F%2Fwww.jxbh.cn%2Fillegal%3Fname%3D%E6%9D%8E%20
在实践中更常见的是对查询字符串参数而不是对基础URL进行编码,因此decodeURIComponent用的比decodeURI要多。
参考链接:https://www.cnblogs.com/hamsterPP/p/7131163.html
js 对中文字符的 解码 与 编码相关推荐
- python中文对齐_Python 终端下中文字符对齐处理和编码续
本来是修改自己一个终端小程序的宽字符处理,然后就和编码纠结上了. 这两天花了不少时间继续研究了下这块,越研究越让人迷糊,还存在不少疑问.只能说在研究和总结这块时,我的内心是崩溃的--希望以后不再在这块 ...
- 中文字符 与 十六进制Unicode编码 相互转换
1.知识准备 str.charCodeAt() 返回字符串中的第n个字符的代码: String.fromCharCode(27573) 返回指定Unicode编码的字符: 例: var str=&qu ...
- 【网络编程】中文字符、时间等编码转换
GB2312编码转化为汉字 /*** 将GB2312编码(十六进制)转换成汉字*/public static String gbkHexToString(String string) throws E ...
- js判断中文字符长度
就是 你把 String.prototype.len = function() { return this.replace(/[^\x00-\xff]/g, "xx").len ...
- java中文字符怎么保证出现正确_JAVA中文字符编码问题详解
JAVA中文字符编码问题详解 JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用中.网上的分析文章和解决方案都很多,但总是针对某些特定情况的.很多次遇到乱码问题后,经过极为辛苦的调试和搜索资 ...
- (best!)JAVA中文字符编码问题详解
转载自:http://blog.csdn.net/youyue/article/details/4580402 JAVA中文字符编码问题详解 JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应 ...
- java生成html 控制编码方式_JAVA中文字符编码问题详解 控制台输出
JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用中.网上的分析文章和解决方案都很多,但总是针对某些特定情况的.很多次遇到乱码问题后, 经过极为辛苦的调试和搜索资料后终于解决,满以为自己已经 ...
- JAVA中文字符编码问题详解
JAVA中文字符编码问题详解 JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用中.网上的分析文章和解决方案都很多,但总是针对某些特定情况的.很多次遇到乱码问题后,经过极为辛苦的调试和搜索资 ...
- Java的编码方式、单个char类型存储大部分中文字符、getBytes()、new String()的转换流程
目录 一 编码种类 1.1 ASCII码 1.2 ISO8859-1编码 1.3 GBK编码 1.4 Unicode字符集 1.4.1 UTF-8编码 1.4.2 UTF-16编码 1.4.3 UTF ...
- 常见中文字符编码介绍
今天在github上下载数据时,遇到了一个中文字符编码的问题,尝试了常见的中文字符编码始终不正确,最终在查看了大量博客后找到比较需要的中文字符编码,为了便于以后大家查找使用,现在我将中文字符编码汇总如 ...
最新文章
- java编写一个通讯录_java写的通讯录(小玩意)
- numpy 学习笔记
- 067_VFPage中Js与controller交互方式(二) RemoteAction
- 机器学习中的维度灾难
- git rebase 后找回消失的commit
- ADO.NET Entity Framework学习笔记(2)建模[转]
- 返回CompletableFuture:Java 8功能亮点
- CentOS 7.2 安装zabbix 3.4
- java urlrewrite_Java|urlrewrite|URL重写|多个参数
- 一文理解设计模式之--策略模式(Strategy)
- ElasticSearch近似匹配调研
- html5漂亮的登录与注册界面设计,翻转式用户登录注册界面设计
- 字符串小写转大写字母
- 众筹源码 php,助创cms众筹源码系统v1.0
- TJOI 2015 弦论 题解
- 干辣椒和鲜辣椒的区别
- pytorch-retinanet训练自己的数据集
- VUE父子组件-传数据的理解
- 【DLL动态链接库】解决自己编写的程序在别人的电脑上无法运行的问题
- SSH企业案例_CRM客户管理系统(一):SVNCRM注册页面