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 文字折り返し・行末空白のエスケープ。
使い方
- エンコードまたはデコードを選択。
- テキスト(エンコード)または Quoted-Printable データ(デコード)を貼り付け。
- 結果をコピー — エンコード出力はソフト改行で 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 の多いデータに向きます。
関連ツール
Base64 ↔ 16進数 変換
Base64 文字列を16進数バイトに、16進数を Base64 に戻します。URL セーフ対応、ブラウザ上で動作します。
CRC-32 計算機 (CRC-32 & CRC-32C)
テキストまたは hex バイトの CRC-32(IEEE 802.3、zip/gzip/PNG)または CRC-32C(Castagnoli)チェックサムを、小文字 hex・大文字 hex・符号なし 10 進数で計算 — ブラウザ内で。
ハッシュ生成 (SHA)
テキストから SHA-1・SHA-256・SHA-384・SHA-512 ハッシュを生成。
URL エンコーダー / デコーダー
URL 用にテキストをパーセントエンコード、または URL をデコード。
Base64 エンコーダー / デコーダー
テキストを Base64 にエンコード、または Base64 をテキストにデコード。
JSON フォーマッター & バリデーター
ブラウザで JSON を整形・並べ替え・圧縮・検証できます。