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进行编码。

你可能感兴趣的:(escape、encodeURI、encodeURIComponent什么区别?)