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 数据。
相关工具
Base64 与十六进制互转
在浏览器中将 Base64 字符串转换为十六进制字节,并将十六进制转换回 Base64,支持 URL-safe。
开发00
CRC-32 计算器 (CRC-32 与 CRC-32C)
计算文本或 hex 字节的 CRC-32(IEEE 802.3,zip/gzip/PNG 使用)或 CRC-32C(Castagnoli)校验和,以小写 hex、大写 hex 与无符号十进制显示 — 在浏览器内完成。
开发00
哈希生成器 (SHA)
根据文本生成 SHA-1、SHA-256、SHA-384 和 SHA-512 哈希。
开发00
URL 编码 / 解码
将文本按百分号编码用于网址,或将编码的网址解码为文本。
开发00
Base64 编码 / 解码
即时将文本编码为 Base64,或将 Base64 解码为文本。
开发00
JSON 格式化与校验工具
在浏览器中格式化、美化、压缩并校验 JSON。
开发00