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