encodeURI和encodeURIComponent的区别
2021-08-22 本文已影响0人
_hider
项目开发中遇到前端编码的问题,总是搞不清楚
encodeURI和encodeURIComponent两者的区别,今天就来整理一下:
两者最主要的区别是encodeURI不会编译有些httpURL中的预留符号,而encodeURIComponent会编译,参考下图:
7cf4ff89acaa707fd64b479377c99aa.png
从上图中可以清晰地看出两者对httpURL中的预留符号编译的结果,不过无论上述哪一种,都不会对[a-zA-Z0-9]的字符以及!*()'.进行编码,即编码之后还是本身。如果遇到中文的话,两者的解析结果是一样的。
还有一点要注意的是decodeURI和decodeURIComponent是用于解码的,decodeURI对应encodeURI,decodeURIComponent是对应encodeURIComponent的。