Quoted-Printable 编码与解码
Quoted-Printable 是一种 MIME 内容传输编码(RFC 2045 §6.7),让几乎全是 ASCII 的文本能通过邮件等 7 位通道偶尔携带非 ASCII 字节。当邮件显示为 'caf=C3=A9' 或 'Hello=20World' 时,你看到的就是 Quoted-Printable,本工具能把它还原为可读文本。解码会把每个 =XX 十六进制转义还原为字节,去除软换行(位于续行行尾的 '='),将结果按 UTF-8 解释,并接受大小写十六进制。编码则相反:可打印 ASCII 原样通过,'=' 变为 =3D,控制字符与多字节 UTF-8 的每个字节变为 =XX,行尾的空格与制表符会被转义以在传输中保留,过长的行用软换行在 76 字符处折行。这是阅读 Quoted-Printable 邮件正文或准备头部值的快捷方式。全部在本地运行;不上传任何内容。
解码会还原 =XX、去除软(= 行尾)换行并按 UTF-8 读取。编码按 76 字符折行并转义行尾空格。
使用方法
- 选择编码或解码。
- 粘贴你的文本(编码)或 Quoted-Printable 数据(解码)。
- 复制结果 — 编码输出用软换行在 76 字符处折行。
常见问题
- 什么是软换行?
- Quoted-Printable 将行限制为 76 字符。当逻辑行更长时,编码器用单独的 '=' 结束一个物理行并在下一行续接;该行尾的 '=' 加换行就是软换行,不表示任何数据。解码时会移除它,重新拼接成一行。文本中真正的换行则保留为真正的换行。
- 为何空格有时显示为 =20?
- 字面空格或制表符在行中间允许,但行尾不允许 — 行尾空格可能被邮件服务器悄悄删除。因此编码器把行尾空格转义为 =20、制表符为 =09,确保其保留。行中间的空格为可读性而原样保留。
- 能处理非拉丁文本吗?
- 能。编码时,UTF-8 表示中非可打印 ASCII 的每个字节都会变为 =XX 转义,于是 '€' 变为 =E2=82=AC,'café' 变为 caf=C3=A9。解码时收集字节并按 UTF-8 解释,因此原文精确还原。编码假定使用现代默认的 UTF-8。
- 它与 Base64 有何不同?
- 二者都是 MIME 传输编码,但 Quoted-Printable 让几乎全 ASCII 的文本保持可读 — 仅转义异常字节 — 而 Base64 把一切变成不透明的块。Quoted-Printable 适合几乎全 ASCII 的文本;Base64 更适合二进制或大量非 ASCII 数据。
相关工具
URL 编码 / 解码
将文本按百分号编码用于网址,或将编码的网址解码为文本。
Base32 编码 / 解码
Base32 (RFC 4648) 编解码,支持 Standard 和 base32hex 两种变体 — 适用于 TOTP 密钥和 Crockford 风格 ID。
Base45 编码与解码工具
在浏览器中按照 RFC 9285 将文本编码为 Base45,并将 Base45 解码回文本。
CBOR 解码器 (诊断表示法)
将 hex 或 base64 的 CBOR(RFC 8949)解码为可读的诊断表示法 — 整数、字节与文本字符串、数组、映射、标签、浮点数、简单值与不定长项 — 全部在浏览器内完成。
MIME 类型查询
用扩展名查 MIME 类型(或反向),并了解每种类型的用途。
Punycode 转换器
在 Unicode(`münchen.de`)与 Punycode ASCII(`xn--mnchen-3ya.de`)间转换国际化域名。