引用可能な印刷エンコーダ

Quoted-printableとは、8ビットのテキストを7ビットのメール転送環境下でも正常に表示できるようにするエンコーディング方式です。このエンコーダは、126を超える各バイト(および=などの特殊な値も含む)を=XXというヘックスエスケープ文字に変換し、76文字で行をソフトラップするとともに、MIMEのContent-Transfer-Encoding: quoted-printable形式のメッセージ本文に直接使用可能な文字列を生成します。

引用可能な印刷形式にエンコードする方法

  1. 1

    テキストを貼り付けます

    入力はデフォルトでUTF-8として処理されます。アクセント付き文字や絵文字はマルチバイトシーケンスになります。

  2. 2

    コードをクリックしてエンコードします

    印刷可能なASCII範囲外のバイトおよび文字列の「=」記号は、大文字のヘックスデシマル値として「=HH」エスケープとして処理されます。

  3. 3

    ソフトな改行を使用します

    76文字を超える行は末尾に「=」とCRLFを追加して分割します。MTAがそれらを再結合します。

無断のルール(短縮版)

RFC 2045では「quoted-printable」が定義されています。重要なポイントは以下の通りです:

バイト範囲 处理方法
33から126まで(=(61)を除く) 現状のまま印刷
9(タブ)、32(スペース) 行末で指定しない限り、そのまま使用
= (61) 常に=3Dとして回避される
その他のすべて =HHとしてエスケープ済み
ライン長 > 76 = + CRLF を使用してソフトウエーブする

なぜこの機能が存在するのか

SMTPは歴史的に7ビットのクリーンな送信を保証してきました。この範囲外のデータは破壊、逆転、または分割される可能性があります。Quoted-printableはデバッグ環境で開く際にメッセージ本文が読みやすく保たれると同時に、送信時の安全性も確保しています(base64のように不透明な形式とは対照的です)。

常見の落とし穴

  • 末尾のスペース。 行の末尾にあるスペースは=20としてエンコードする必要があります。そうでないとメールリレーがそれを削除してしまう可能性があります。
  • 行の終了処理。 LFではなくCRLFを使用してください。RFC 5322のヘッダーではこれを必須としています。
  • まずUTF-8に変換してください。 テキストをUTF-8バイトとしてエンコードし、その後引用符付きで印刷可能な形式に変換します。順序を間違えるとアクセント付き文字が歪んで表示されます。

よくある質問

テキストがほとんどASCIIで、時折非ASCIIバイトを含む場合(典型的な欧州のメールなど)は「 quoted-printable」を指定します。コンテンツがバイナリまたは非ラテン文字が多く含まれる場合は「base64」を使用し、より効率的にデータを圧縮できます。

これは、UTF-8バイトとしてエンコードされたタイプグラフィック上の右向き単一引用符(U+2019)です。「引用文字の印刷可能性」を理解していないクライアントは、生のエスケープ文字を表示しています。

RFC 2045では、引用可能な印刷行の最大文字数として76文字が定められています。ほとんどのエンコーダは末尾の「=」というソフトブレークに余白を確保するため、75文字で折り返します。76文字を超えると、厳格なMTA(メーチングテキストアドレス)によって拒否されるリスクがあります。

はい。エンコードまたはデコードのため、テキストはサイトに送信されます。パスワード、秘密鍵、機密文書は貼り付けないでください。

関連ツール

このツールは他の言語でも利用できます