js

encodeURI和encodeURIComponent的区别

2021-08-22  本文已影响0人  _hider

项目开发中遇到前端编码的问题,总是搞不清楚encodeURIencodeURIComponent两者的区别,今天就来整理一下:

两者最主要的区别是encodeURI不会编译有些httpURL中的预留符号,而encodeURIComponent会编译,参考下图:

7cf4ff89acaa707fd64b479377c99aa.png

从上图中可以清晰地看出两者对httpURL中的预留符号编译的结果,不过无论上述哪一种,都不会对[a-zA-Z0-9]的字符以及!*()'.进行编码,即编码之后还是本身。如果遇到中文的话,两者的解析结果是一样的。

还有一点要注意的是decodeURIdecodeURIComponent是用于解码的,decodeURI对应encodeURIdecodeURIComponent是对应encodeURIComponent的。

上一篇下一篇

猜你喜欢

热点阅读