← ハシトシステム トップ English ツール ブログ
入力・設定
結果

MIMEヘッダのエンコードについての説明

encoded-word とは(=?文字コード?B?本文?=)

メールのヘッダは元々 ASCII しか置けない決まりのため、日本語の件名は =?UTF-8?B?44OG44K544OI?= のような形に変換して運ばれます。これを RFC 2047 の encoded-word と呼びます。=??= の間は「文字コード」「変換方式」「本文」の3つで、変換方式は Base64 の B と Quoted-Printable 系の Q の2種類です。

隣り合う encoded-word の間の空白

encoded-word 1つは 75 文字までと決まっているため、長い件名は複数に分割されます。RFC 2047 では、encoded-word どうしが空白だけで隣り合っている場合、その空白は表示のときに取り除く決まりです。これを行わないと、分割された位置に余分な空白が入った件名になります。このツールはその除去を行い、encoded-word と地の文の間の空白はそのまま残します。

Q 方式で _ が空白になる理由

Q 方式は Quoted-Printable とほぼ同じですが、ヘッダで使いやすいように _ 1文字を空白(0x20)の代わりに使う点だけが異なります。そのため =?UTF-8?Q?Hello_World?= は「Hello World」になります。

生成が UTF-8 のみである理由

ブラウザに組み込みの TextEncoder は UTF-8 しか出力しません。ISO-2022-JP や Shift_JIS へ変換するには別途の変換表が必要で、外部ライブラリを増やさない方針のため、このツールの生成側は UTF-8 に限っています。デコード側は TextDecoder が対応しているため ISO-2022-JP・Shift_JIS・EUC-JP も読めます。

よくある質問(FAQ)

ISO-2022-JP の古いメールもデコードできますか?

はい。デコードは ISO-2022-JP・Shift_JIS・EUC-JP・UTF-8 に対応しています。ブラウザが対応していない文字コードが指定されていた場合は UTF-8 として読み、その旨を内訳に表示します。

入力したメールの件名は外部に送信されますか?

いいえ。解析・変換・ダウンロードまで、すべての処理はお使いのブラウザ内で完結します。入力内容がサーバーへ送信されることはありません。

件名の一部だけがエンコードされている行も扱えますか?

はい。「Subject: 」のような地の文と encoded-word が混ざった行をそのまま貼り付けられます。encoded-word の部分だけを変換し、地の文はそのまま出力します。

生成した encoded-word はそのままヘッダに書けますか?

1つの encoded-word が 75 文字を超えないように分割し、2行目以降の先頭に空白を置いた形(folding)で出力します。この形のままヘッダの値として使えます。