跳到主要内容
uencoder

Understanding Quoted-Printable Encoding

Learn 如何 Quoted-Printable 编码工作和 当它 是 preferable 到 Base64 为 mostly-ASCII 文本.

问题

你有 文本该 是最多 ASCII 具有少数 non-ASCII characters 和 want 高效编码该 keeps readable 文本 intact.

前置条件

  • 基础 email/MIME 知识
  • Understanding 的 ASCII

步骤

  1. 1. Understand the encoding rule

    Quoted-Printable leaves printable ASCII characters (33-126) as-is, except = which becomes =3D. Non-ASCII bytes and control characters are encoded as =XX where XX is the hex value. This keeps mostly-ASCII text readable and compact.

    输入
    Café
    输出
    Caf=E9
  2. 2. Handle line wrapping

    Quoted-Printable limits line length to 76 characters. If a line exceeds this, a soft line break (= at end of line) is inserted. The decoder removes these soft breaks to reconstruct the original line.

    输入
    long line of text...
    输出
    ...text=
    ...continued
  3. 3. Decode back to original

    The decoder scans for =XX sequences and converts them back to bytes. Soft line breaks (= at end of line) are removed. Hard line breaks (CRLF without a preceding =) are preserved as actual line breaks.

    输入
    Caf=E9
    输出
    Café

预期结果

Compact encoded 文本 where ASCII portions 保持 readable 和 non-ASCII bytes 是 hex-escaped.

常见错误

Forgetting to encode the = sign itself
The = character must always be encoded as =3D, otherwise the decoder will misinterpret it as an escape prefix.
Lines exceed 76 characters
Insert soft line breaks (=CRLF) before the 76-character limit. Some mail servers reject overly long lines.

排障指引

  • If decoded text shows stray = characters, the encoder failed to encode = as =3D.
  • If lines are joined incorrectly, check that soft breaks (= at EOL) are distinguished from hard breaks.

安全限制

  • Quoted-Printable is a transport encoding with no security properties.

相关工具

相关词条

参考链接