From:https://www.cnblogs.com/shuiyi/p/5277233.html

一、这四个方法的用处

1、用来编码和解码URI的

统一资源标识符,或叫做 URI,是用来标识互联网上的资源(例如,网页或文件)和怎样访问这些资源的传输协议(例如,HTTP 或 FTP)的字符串。除了encodeURI、encodeURIComponent、decodeURI、decodeURIComponent四个用来编码和解码 URI 的函数之外 ECMAScript 语言自身不提供任何使用 URL 的支持。

2、URI组成形式

一个 URI 是由组件分隔符分割的组件序列组成。其一般形式是:

Scheme : First / Second ; Third ? Fourth

其中斜体的名字代表组件;“:”, “/”, “;”,“?”是当作分隔符的保留字符

3、有和不同?

encodeURI 和 decodeURI 函数操作的是完整的 URI;这俩函数假定 URI 中的任何保留字符都有特殊意义,所有不会编码它们。

encodeURIComponent 和 decodeURIComponent 函数操作的是组成 URI 的个别组件;这俩函数假定任何保留字符都代表普通文本,所以必须编码它们,所以它们(保留字符)出现在一个完整 URI 的组件里面时不会被解释成保留字符了。

以上说明摘自ECMAScript标准,为了容易读懂做了点编辑加工。

4、图解四个函数的不同:

ECMA对这四个函数还做了详细解释,可能是为了写的更逻辑化一些,采用了类似变量配合逻辑的写法来说明,但是让初学者看得云里雾里的特别绕,所以有必要把它写得更像是人读的东西……

当 URI 里包含一个没在上面列出的字符或有时不想让给定的保留字符有特殊意义,那么必须编码这个字符。字符被转换成 UTF-8 编码,首先从 UT​​F-16 转换成相应的代码点值的替代。然后返回的字节序列转换为一个字符串,每个字节用一个“%xx”形式的转移序列表示。(具体转换规则可以参考抽象操作EncodeDecode的说明)

一张图看懂encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的区别相关推荐

  1. 华为p10和p10plus区别_华为P10和P10Plus有什么区别?一张图看懂华为P10和P10Plus的区别...

    在MWC2017会展上,华为新一代旗舰产品P10及P10 Plus高调亮相,上一代的P9作为华为首款销量突破1000万的机型,这次的P10想必也继承了华为再创辉煌的使命.P10继续与徕卡深度合作,采用 ...

  2. 10张图看懂瞎忙和高效的区别,你中枪了吗?

    时间是最公平的,每个人一天都是24小时,一年都是365天.但是,不同的人的产出却是天差地别. 人和人的差距为什么这么大?而且这种差距,并不是家庭背景.权利财富或天赋带来的,仅仅是我们对时间的掌控. 正 ...

  3. 反向索引和自增索引区别_一张图看懂SEO收录与索引的区别

    在过去的一段时间里,大家一度对收录和索引的概念非常模糊,百度工程师也曾"粗暴"地说过"收录和索引是一回事".但实际工作中,院长发现,其实收录和索引都有其各自的重 ...

  4. 一张图看懂encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的区别 一、这四个方法的用处 1、用来编码和解码URI的 统一资源标识符

    http://www.cnblogs.com/shuiyi/p/5277233.html

  5. 一张图看懂信息化和数字化的本质区别

    什么是信息化,什么是数字化,信息化和数字化的区别,联系,一直是业界同行们争论,纠结的一个话题. 凯哥和很多朋友也有过讨论,一直在思索,这几天凯哥在高强度的思考讨论轰炸下,有了一些心得体会,感觉这个应该 ...

  6. 15张图看懂瞎忙和高效的区别!

    整理自网络,原标题为<高效能人士和碌碌无为者的15个根本性区别> 1 优先要做的事 只有几件 为什么? 如果你优先要做的事情很多,那就意味着你根本就没有优先要做的事. 你在多个任务.多个项 ...

  7. 一张图看懂4G和5G之间的区别

    搞懂这些就不用纠结5G到底是什么了 4G是一种移动电话网络技术,和其前身3G一样,它可以用于下载数据和访问Internet,但是区别在于它比3G快得多. 5G是第五代无线网络技术,它建立在所谓的毫米波 ...

  8. 一张图看懂原生app和H5的区别

    程序 速度性能 用户体验 硬件流量 开发维护 运行速度 产品性能 动效使用 通知提醒 整体评价 底层设备 网络流量 用户留存 开发方式 版本更新 版本控制 图像渲染 维护成本 原生app 快.流畅 稳 ...

  9. 一张图看懂offsetX, clientX, pageX, screenX的区别

    1.具体含义见下图1 2.浏览器的兼任情况 更多专业前端知识,请上 [猿2048]www.mk2048.com

最新文章

  1. 想进入系统CMD?请输入密码
  2. 求你了,别再用 print 调试代码了
  3. break与continue的的用法以及区别
  4. 百味扶胰系假药 冒用降糖宁胶囊批号
  5. mysql 全连接查询合并字段
  6. Android关闭Activity
  7. C语言序列是否有序、序列中删除指定数字、序列中整数去重、有序序列合并问题
  8. mui封装的ajax请求
  9. ThinPHP_5的请求和响应
  10. 地图标注不完整图片_“地图帝”不规范使用图件之Anton Balazh作品介绍
  11. 微信小程序文本输入<input/> 详解
  12. 最好最实用的二次开发教程
  13. 姿态估计与行为识别(行为检测、行为分类)的区别
  14. 计算机家庭组改工作组,win7系统如何更改工作组
  15. MATLAB 设置坐标轴的字体为斜体
  16. BiliBili下载.flv视频文件重命名
  17. 通信协议之IIC协议(eeprom)_通俗易懂篇!
  18. 201521123064 《Java程序设计》第7周学习总结
  19. CXF报错及解决方案
  20. 通信原理仿真100例 | 多普勒频移的matlab仿真

热门文章

  1. DBA_Oracle Table Partition表分区概念汇总(概念)
  2. easyui validatebox 验证类型
  3. 转载:关于爱情、伴侣、承诺、人生、
  4. android动画笔记二
  5. 1713. 得到子序列的最少操作次数
  6. leetcode116. 填充每个节点的下一个右侧节点指针(dfs)
  7. 软件测试测试用例编写_不要先编写所有软件测试-只需编写一个
  8. angular dom_Angular 8 DOM查询:ViewChild和ViewChildren示例
  9. Stack Overflow 2016年对50,000名开发人员进行的调查得出的见解
  10. 机器学习集群_机器学习中的多合一集群技术在无监督学习中应该了解