escape、encodeURI、encodeURIComponent什么区别?

区别:

escape vs (encodeURI && encodeURIComponent)
  • 在处理0xff之外的字符方式有区别,escape 是直接使用字符的 unicode 在前面加上一个 「%u」encodeURI、encodeURIComponent则是先进行 UTF-8,再在 UTF-8 的每个字节码前加上一个 「%」;例如"浩鸽鸽"转译后,
    escape: %u6D69%u9E3D%u9E3D,
    encodeURI || encodeURIComponent:"%E6%B5%A9%E9%B8%BD%E9%B8%BD"
  • encodeURI 是W3C 的标准,而 Escape 是非标准。
encodeURI vs encodeURIComponent
  • encodeURI 不会对url中的功能字符进行转译,例如&, ?, /, =等等这些。
场景:
  • escape指对字符串进行编码,如果是对URI进行操作,那么不就不要使用escpae。
  • encodeURI 通常用来对整个URI 进行编码,encodeURIComponent 用来对传递数据的Key,Value进行编码。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容