日本語メール送受信のために 1986 年に RFC 1468 として標準化された 7bit セーフな日本語文字エンコーディング。エスケープシーケンスで ASCII と JIS X 0208 を切替、SMTP・NNTP の 7bit 経路で日本語を送信可能にした。
ISO-2022-JP は、日本語メール送受信のために 1986 年に策定され、1993 年に RFC 1468 として国際標準化された 7bit セーフな日本語文字エンコーディングで、SMTP・NNTP の 7bit 経路で日本語を送信可能にした重要な規格です。バイトの最上位ビット (MSB) を 0 に保つ (00h-7Fh のみ使用) ことで、当時の SMTP メールサーバが 7bit 専用だった制約に対応。エスケープシーケンス (ESC + 識別子) で ASCII モードと JIS X 0208 モード (漢字モード) を切り替える方式で、ASCII で英数字を送信中に ESC $ B で日本語モードに入り、ESC ( B で ASCII に戻るという仕組み。JUNET (1984、日本初の TCP/IP 学術ネット) で日本語メール送信に使われた「junet コード」が原型で、現代も日本語メール (POP3/SMTP) の主要エンコーディングとして広く使用されています。
ESC ( B (1Bh 28h 42h)ESC $ B (1Bh 24h 42h)ESC $ @ (1Bh 24h 40h、JIS C 6226-1978)Content-Type: text/plain; charset=iso-2022-jp で指定| エンコーディング | ビット | エスケープ | バイト数 | 用途 |
|---|---|---|---|---|
| Shift_JIS | 8bit | なし | 1-2B | Windows |
| EUC-JP | 8bit | なし | 1-3B | UNIX |
| ISO-2022-JP | 7bit | あり | 可変 | メール |
| UTF-8 | 8bit | なし | 1-4B | 現代標準 |
ISO-2022-JP は 2026 年現在も日本語メールの主要エンコーディングとして広く使われ、Postfix・Sendmail などのメールサーバ運用では必須の知識です。レンタルメールサーバ (XSERVER・さくら・お名前.com 等) でメールを送る場合、件名 (Subject) は MIME エンコード (=?iso-2022-jp?B?...?=) + ISO-2022-JP、本文は ISO-2022-JP のままが標準。最新の MIME 仕様では UTF-8 + Base64 エンコード (=?utf-8?B?...?=) も使用可能ですが、古いメールクライアントの互換性のため日本では ISO-2022-JP が依然主流。Web メール (Gmail・Outlook.com) は内部 UTF-8 で扱いますが、送信時に ISO-2022-JP に変換するケースもあります。SMTP プロトコル自体は 8BITMIME 拡張で 8bit データを送れますが、サーバ依存があり ISO-2022-JP の 7bit セーフ性は今も価値があります。
Q1: なぜメールで ISO-2022-JP が使われる? A: SMTP プロトコルが 7bit 設計、ISO-2022-JP は 7bit セーフで送信時のエンコード不要。Shift_JIS/EUC-JP は 8bit のため Base64 等の追加エンコードが必要。
Q2: 半角カナはなぜ使えない? A: 半角カナは 8bit (A1h-DFh) のため 7bit セーフではない。ISO-2022-JP 仕様で意図的に削除、メール送信時に全角カナへの変換が推奨される。
Q3: 現代も使うべき? A: メール送信では依然主流、特に日本国内の古いメールクライアント互換性のため。Web・ファイル交換では UTF-8 が標準。