在线Escape编码/解码工具
工具介绍
Escape编码是JavaScript早期提供的一种字符串编码方式,用于将字符串转换为可安全传输的格式。它使用百分号(%)加上十六进制数表示特殊字符,ASCII字符编码为%XX格式,Unicode字符编码为%uXXXX格式。本工具支持在线Escape编码和解码,提供标准Escape和Unicode两种模式,可快速处理遗留系统数据。所有操作均在浏览器本地完成,不上传服务器,安全可靠。
编码规则说明
| ASCII字符 | 字母、数字等ASCII可见字符(a-z, A-Z, 0-9, @*_+-./)保持不变,其他ASCII字符编码为%XX格式,其中XX为两位十六进制数。 |
|---|---|
| Unicode字符 | 非ASCII字符(如中文、日文、特殊符号等)编码为%uXXXX格式,其中XXXX为四位十六进制的Unicode码点。 |
| 标准Escape模式 | 使用JavaScript原生escape()函数,仅对特殊字符编码,保留字母数字及部分符号,结果最短。 |
| Unicode模式 | 对所有字符统一编码,ASCII用%XX,非ASCII用%uXXXX,编码更完整但结果较长。 |
常见字符编码对照
| 字符 | 原文 | 编码结果 |
|---|---|---|
| 空格 | %20 | |
| @符号 | @ | %40 |
| 加号 | + | %2B |
| 斜杠 | / | %2F |
| 中文字 | 中文 | %u4E2D%u6587 |
| 感叹号 | ! | %21 |
| 井号 | # | %23 |
| 百分号 | % | %25 |
| &符号 | & | %26 |
| 等号 | = | %3D |
| 问号 | ? | %3F |
| 你好 | 你好 | %u4F60%u597D |
使用步骤
使用技巧
常见问题
Q1: Escape编码和URL编码有什么区别?
Escape编码和URL编码(encodeURIComponent)都是百分号编码,但有以下区别:1) Escape保留的字符更多(@*_+-./共69个字符不编码),URL编码只保留字母数字和-_.~(66个);2) Escape对非ASCII字符使用%uXXXX格式,URL编码使用UTF-8的多字节%XX%XX格式;3) Escape已被废弃,URL编码是现行标准。简单来说,Escape是旧标准,URL编码是新标准,新项目应使用encodeURIComponent。
Q2: 为什么Escape函数被废弃了?我还能用吗?
escape()函数在ECMAScript 3(1999)中被废弃,推荐使用encodeURI和encodeURIComponent替代。废弃的主要原因是:1) escape对非ASCII字符的%uXXXX格式不是标准的URL编码格式;2) 不符合现代URI编码规范(RFC 3986);3) 编码范围不一致,容易出现兼容性问题。虽然大多数浏览器仍然支持escape()以保证向后兼容,但新项目强烈不推荐使用,建议使用encodeURIComponent。
Q3: 什么时候需要用Escape编码?
虽然Escape已被废弃,但在以下场景仍可能用到:1) 维护老旧的JavaScript代码或遗留系统;2) 与使用Escape编码的旧系统或接口对接;3) 处理一些老版本软件导出的数据;4) 学习和研究JavaScript编码历史;5) 解码旧系统生成的%uXXXX格式数据。如果是新项目,建议使用encodeURIComponent进行URL编码。
Q4: %uXXXX格式是什么?和%XX有什么区别?
%uXXXX是Escape编码中表示Unicode字符的格式,其中XXXX是4位十六进制的Unicode码点(UTF-16代码单元)。而%XX是表示ASCII字符的格式,XX是2位十六进制的字节值。例如,汉字「中」的Unicode码点是U+4E2D,Escape编码为%u4E2D;而在URL编码中,「中」的UTF-8编码是E4B8AD,编码为%E4%B8%AD。两种格式的编码原理完全不同,不能混用。
Q5: 我的数据会被上传吗?
不会。本Escape编解码工具所有计算全程在浏览器本地独立完成,无需联网操作,全程不产生网络传输。原始文本和编码结果都不会发送、记录或缓存到任何服务器,全程严格保护隐私。关闭页面后所有数据即刻彻底清空消失。
应用场景
| 应用场景 | 说明 |
|---|---|
| 遗留系统对接 | 与使用Escape编码的老旧系统进行数据交互 |
| 旧代码维护 | 维护和调试使用escape()函数的老代码 |
| 数据解码 | 解码旧系统生成的%uXXXX格式数据 |
| 历史数据处理 | 处理老版本软件导出的编码数据 |
| 学习研究 | 学习JavaScript编码历史和原理 |
| 爬虫数据 | 处理某些网站使用的非标准编码 |
| Cookie处理 | 某些旧系统Cookie使用Escape编码 |
| 格式转换 | 在Escape和URL编码之间进行转换 |