AZ Tools

Quoted-Printable エンコーダー & デコーダー

開発

Quoted-Printable は、ほぼ ASCII のテキストが時折現れる非 ASCII バイトをメールなどの 7 ビットチャネルで運べるようにする MIME コンテンツ転送エンコーディング(RFC 2045 §6.7)です。メールが 'caf=C3=A9' や 'Hello=20World' と表示されたら、それが Quoted-Printable で、本ツールが読めるテキストに戻します。復号はすべての =XX 16 進エスケープをバイトに解決し、ソフト改行(行を継続する行末の '=')を除去し、結果を UTF-8 として解釈し、大文字・小文字どちらの 16 進も受け付けます。エンコードはその逆で、印刷可能な ASCII はそのまま、'=' は =3D、制御文字とマルチバイト UTF-8 の各バイトは =XX、行末の空白とタブは転送中に保たれるようエスケープ、長い行はソフト改行で 76 文字に折り返します。Quoted-Printable のメール本文を読んだりヘッダー値を準備する手早い方法です。すべてローカルで動作し、アップロードされません。

出力

復号は =XX 解決・ソフト(= 行末)改行の除去・UTF-8 読み取り。エンコードは 76 文字折り返し・行末空白のエスケープ。

使い方

  1. エンコードまたはデコードを選択。
  2. テキスト(エンコード)または Quoted-Printable データ(デコード)を貼り付け。
  3. 結果をコピー — エンコード出力はソフト改行で 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 の多いデータに向きます。

関連ツール