Quoted-Printable 解码器

编码和解码邮件中使用的 Quoted-Printable 格式。所有处理在浏览器中完成。

编码 MIME兼容 客户端处理
结果将在此显示...

如何使用 Quoted-Printable 解码器

1

选择模式

选择编码或解码模式。

2

输入内容

在输入框中输入文本或编码内容。

3

转换

点击转换按钮查看结果。

什么是 Quoted-Printable?

Quoted-Printable 是一种编码方式,用于在电子邮件中表示非 ASCII 字符。它将非 ASCII 字符编码为 =XX 格式(XX 为十六进制值),确保数据能安全地通过只支持 ASCII 的邮件系统。

工作原理

转义编码

非ASCII和特殊字符编码为 =XX

软换行

行在76字符处使用行尾=进行换行

安全字符

可打印ASCII字符 (33-126) 和制表符/空格直接通过

常见问题

Quoted-Printable 和 Base64 有什么区别?

Quoted-Printable 保留可打印的 ASCII 字符,只编码特殊字符,适合大部分为 ASCII 的文本。Base64 编码所有字符,输出更大,适合二进制数据。

= 符号如何处理?

= 号本身编码为 =3D。行末的 = 表示软换行(续行)。

支持哪些字符编码?

支持 UTF-8 编码,这是现代邮件最常用的编码。

Quoted-Printable 中如何对非 ASCII 字符进行编码?

UTF-8 序列的每个字节都会变成 =XX:带尖音符的字母 é 由两个字节组成,写作 =C3=A9,而一个中文词会变成十二个 =XX 组。ASCII 字母、数字和大多数标点符号会原样保留,这使得欧洲语言的文本大体上仍然可读——这正是该编码的设计目标。

什么是 76 字符行长度限制和软换行?

RFC 2045 第 6.7 节要求编码后的行不得超过 76 个字符。当必须拆分一行时,行尾的 = 标记一个软换行——解码器会移除它,并将各行拼接起来,中间不插入空格或换行符。原文中的硬换行则保留为 =0D=0A,因此两者不会产生歧义。

= 字符本身是如何编码的?

编码为 =3D——转义字符必须能转义自身,就像字符串字面量中的反斜杠一样。位置可以消除行尾情形的歧义:=3D 是数据,而行尾单独出现的 = 则是传输用途(软换行)。这也是为什么当 Quoted-Printable 正文中每个 = 后面都是有效的十六进制对时,它可以顺利解码,而任何其他情况都表明数据已损坏。

Quoted-Printable 会出现在邮件头的哪些地方?

按照 RFC 2047 以 encoded-word(编码字)的形式出现:例如 =?UTF-8?Q?Hello=20world?= 这样的 Subject 头部,其中 Q 表示在字符集/编码封装内使用 Quoted-Printable。text/plain 邮件的正文通常直接声明 Content-Transfer-Encoding: quoted-printable。本工具既能解码原始正文形式,也能解码 Q 片段形式。

如何识别 Quoted-Printable 文本?

典型迹象:=C3=A9 或 =20 这类序列散布在本来可读的文本中、行尾出现单独的 =、行长集中在 76 个字符附近。如果一个正文 90% 是可打印 ASCII,只是偶尔出现 =XX 转义——而不是 Base64 那种整齐统一的四字符字母表——那么它几乎可以肯定就是 Quoted-Printable。

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}