Escape 编解码
文本与 Escape 编码(%XX/%uXXXX)互转,支持中文。
Escape 编解码是做什么的
Escape 是 JavaScript 早期内置的编码方式:ASCII 常用字符保持原样,其余字符按字节输出为 %XX,超出 Latin1 的字符(如中文)输出为 %uXXXX。排查旧系统接口参数、分析遗留脚本中的乱码或编码串时经常需要它。
工具按浏览器原生 escape/unescape 的规则自行实现,编码输出大写十六进制,解码同时兼容 %uXXXX 与 %XX 两种形式并容忍非法片段。支持中文等多字节字符,输入即实时转换,全程本地运行。
核心功能
- 编码/解码双向实时互转
- 完整支持中文与 Emoji 等多字节字符
- 解码兼容 %uXXXX 与 %XX 混排
- 一键复制转换结果
- 纯本地转换,无网络请求
Escape 编解码怎么用
文本与 Escape 编码(%XX/%uXXXX)互转,支持中文。
- 选择「编码」或「解码」方向
- 在左侧输入框粘贴或输入内容
- 右侧即时显示转换结果
- 点击「复制结果」取走输出
适合这些场景
- 调试老系统接口中的 %u 编码参数
- 还原脚本或日志里的 Escape 乱码
- 教学演示 JS 三种编码函数差异
常见问题
Escape 与 encodeURIComponent 有什么区别?
Escape 按 UTF-16 码元输出 %XX/%uXXXX,不遵循 URL 规范,也不能正确处理 Unicode 代理对成组转换;encodeURIComponent 按 UTF-8 字节输出 %XX。处理新项目请优先用后者,Escape 主要用于兼容旧数据。
为什么中文会变成两个 %u 开头的片段?
中文在 JavaScript 字符串中占两个字节以上的码元,Escape 对每个非 Latin1 码元输出一个 %uXXXX,因此一个汉字通常对应一段 %u 编码。
解码时遇到不完整的 % 序列怎么办?
工具会原样保留无法解析的片段而不是报错中断,方便处理被截断或混排的字符串。