encodeURI 和encodeURIComponent

encodeURI('https://www.baidu.com/ x z')

// 打印: "https://www.baidu.com/%20x%20z"

encodeURIComponent('https://www.baidu.com/ x z')

// "https%3A%2F%2Fwww.baidu.com%2F%20x%20z"

escape可以达到类似URL Encode的效果,但是它对于非ASCII字符使用了一种非标准的的实现,例如汉字“编码”会被escape成%u7F16%u7801这种%uxxxx奇怪的表示,W3C把这个函数废弃了

encodeURIencodeURIComponent的区别在于前者被设计来用于对完整URL进行URL Encode,于是URL中的功能字符,比如&, ?, /, =等等这些并不会被转义;而后者被设计来对一个URL中的值进行转义,会把这些功能字符也进行转义。

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

推荐阅读更多精彩内容