encodeURI和encodeURIComponent的区别

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

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

7cf4ff89acaa707fd64b479377c99aa.png

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容