Quoted-Printable
Quoted-Printableは、主にASCIIで構成されるテキスト向けのMIMEコンテンツ転送エンコーディングである。印字不可能な文字だけを =HH にエスケープし、本文の大半を読める状態に保つ。
目的
テキストのほとんどがASCIIで非ASCII文字がわずかな場合、Base64より膨らみがずっと小さく、人間が読める状態を保てる。
メカニズム
印字可能なASCII(33〜126、= を除く)はそのまま通過し、それ以外のバイトは = に大文字16進2桁を続けた形になる。行末は = のソフト改行で折り返し(エンコード行は76文字以内)、行末のスペースやタブもエスケープが必要である。
ユースケース
- 中国語・欧州語のメールボディ
- vCard連絡先フィールドのエンコード
- MIMEヘッダーのパラメータ値
- SMTPのUTF-8フォールバック
例
- 入力
caféOutputcaf=C3=A9é (U+00E9) encodes to UTF-8 bytes C3 A9, escaped as =C3=A9
よくあるエラー
- Unescaped trailing spaces being lost during decoding
- Strictly follow RFC 2045: escape trailing spaces as =20 and tabs as =09
関連用語
MIME Encoding
MIME(Multipurpose Internet Mail Extensions)エンコーディングは、メールで非 ASCII テキストやバイナリ添付を運ぶ仕組みを定義する。Base64 と Quoted-Printable のコンテンツ転送符号化を含む。 用語集
Base64
Base64 は任意のバイナリデータを 64 種類の印刷可能 ASCII 文字(A-Z、a-z、0-9、+、/)へ写像し、バイナリデータをテキスト専用チャネルで伝送できるようにする。 用語集
Charset
文字セット(charset)とは、文字から符号位置への対応表であり、符号化形式(UTF-8 など)と組み合わさって、テキストがバイト列になる方法を決定する。 用語集