javascript
const str = "hello 中文 & café";
console.log(escape(str));
// 输出: "hello%u4E2D%u6587%20%26%20caf%E9"
console.log(encodeURIComponent(str));
// 输出: "hello%20%E4%B8%AD%E6%96%87%20%26%20caf%C3%A9"
escape不应在现代 Web 开发中使用。- encodeURIComponent 是 ECMAScript 标准的一部分,符合 URI 编码规范。
escape无法被大多数服务器正确解析(因为%uXXXX不是标准)。encodeURIComponent的结果可以被 PHP、Node.js、Python 等后端语言正常解码。