1、 decodeURIComponentencodeURIComponent

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、decodeURIencodeURI

2.1、encodeURI 函数可把字符串作为 URI 进行编码。
  • 注意: 对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的: , / ? : @ & = + $ #(可以使用 encodeURIComponent() 方法分别对特殊含义的 ASCII 标点符号进行编码。)。空格转化为%20

  • Demo:

    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 对中文字符的 解码 与 编码相关推荐

  1. python中文对齐_Python 终端下中文字符对齐处理和编码续

    本来是修改自己一个终端小程序的宽字符处理,然后就和编码纠结上了. 这两天花了不少时间继续研究了下这块,越研究越让人迷糊,还存在不少疑问.只能说在研究和总结这块时,我的内心是崩溃的--希望以后不再在这块 ...

  2. 中文字符 与 十六进制Unicode编码 相互转换

    1.知识准备 str.charCodeAt() 返回字符串中的第n个字符的代码: String.fromCharCode(27573) 返回指定Unicode编码的字符: 例: var str=&qu ...

  3. 【网络编程】中文字符、时间等编码转换

    GB2312编码转化为汉字 /*** 将GB2312编码(十六进制)转换成汉字*/public static String gbkHexToString(String string) throws E ...

  4. js判断中文字符长度

    就是 你把 String.prototype.len = function()  {  return this.replace(/[^\x00-\xff]/g, "xx").len ...

  5. java中文字符怎么保证出现正确_JAVA中文字符编码问题详解

    JAVA中文字符编码问题详解 JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用中.网上的分析文章和解决方案都很多,但总是针对某些特定情况的.很多次遇到乱码问题后,经过极为辛苦的调试和搜索资 ...

  6. (best!)JAVA中文字符编码问题详解

    转载自:http://blog.csdn.net/youyue/article/details/4580402 JAVA中文字符编码问题详解 JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应 ...

  7. java生成html 控制编码方式_JAVA中文字符编码问题详解 控制台输出

    JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用中.网上的分析文章和解决方案都很多,但总是针对某些特定情况的.很多次遇到乱码问题后, 经过极为辛苦的调试和搜索资料后终于解决,满以为自己已经 ...

  8. JAVA中文字符编码问题详解

    JAVA中文字符编码问题详解 JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用中.网上的分析文章和解决方案都很多,但总是针对某些特定情况的.很多次遇到乱码问题后,经过极为辛苦的调试和搜索资 ...

  9. 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 ...

  10. 常见中文字符编码介绍

    今天在github上下载数据时,遇到了一个中文字符编码的问题,尝试了常见的中文字符编码始终不正确,最终在查看了大量博客后找到比较需要的中文字符编码,为了便于以后大家查找使用,现在我将中文字符编码汇总如 ...

最新文章

  1. java编写一个通讯录_java写的通讯录(小玩意)
  2. numpy 学习笔记
  3. 067_VFPage中Js与controller交互方式(二) RemoteAction
  4. 机器学习中的维度灾难
  5. git rebase 后找回消失的commit
  6. ADO.NET Entity Framework学习笔记(2)建模[转]
  7. 返回CompletableFuture:Java 8功能亮点
  8. CentOS 7.2 安装zabbix 3.4
  9. java urlrewrite_Java|urlrewrite|URL重写|多个参数
  10. 一文理解设计模式之--策略模式(Strategy)
  11. ElasticSearch近似匹配调研
  12. html5漂亮的登录与注册界面设计,翻转式用户登录注册界面设计
  13. 字符串小写转大写字母
  14. 众筹源码 php,助创cms众筹源码系统v1.0
  15. TJOI 2015 弦论 题解
  16. 干辣椒和鲜辣椒的区别
  17. pytorch-retinanet训练自己的数据集
  18. VUE父子组件-传数据的理解
  19. 【DLL动态链接库】解决自己编写的程序在别人的电脑上无法运行的问题
  20. SSH企业案例_CRM客户管理系统(一):SVNCRM注册页面

热门文章

  1. 飞思卡尔16位单片机(四)——GPIO输入功能测试
  2. spss方差分析_SPSS统计案例:考虑交互作用的双因素方差分析
  3. 最新米酷6.26影视源码+解析接口+步骤
  4. USB_CAN-2A使用CANTest解析J1939
  5. pdf、epub、mobi、三种下载方式区别
  6. 优秀课程案例:使用Scratch制作水果忍者游戏!
  7. PCB绘图不小心把绘图界面缩小到看不见了,如何操作?
  8. 火狐浏览器国内版和国际版区别
  9. mysql 测试数据生成器_测试数据生成器
  10. Linux源码安装pgadmin4,linux安装pgadmin3