作者:钟杰辉_576 | 来源:互联网 | 2024-10-25 19:47
本文探讨了`encodeURI`和`encodeURIComponent`以及它们对应的解码函数的区别与应用场景。这两个编码方法主要用于处理URI(统一资源标识符),用于标识互联网上的资源(如网页或文件)及其访问方式(如HTTP或FTP)。`encodeURI`适用于整个URI的编码,而`encodeURIComponent`则针对URI中的特定组件进行编码,确保每个部分都能正确解析。解码函数则分别用于将编码后的URI和URI组件还原为原始形式。
一、这四个要领的用途
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对这四个函数还做了细致诠释,能够是为了写的更逻辑化一些,采用了相似变量合营逻辑的写法来申明,然则让初学者看得云里雾里的迥殊绕,所以有必要把它写得更像是人读的东西……