Extended UNIX Code Japanese。UNIX 系 OS で日本語処理を行うために 1985 年に策定された日本語文字エンコーディング。JIS X 0208 を完全 ASCII 互換 (8bit 領域のみ) で扱える設計で、Solaris・BSD・初期 Linux で日本語処理の標準となった。
EUC-JP (Extended UNIX Code Japanese) は、UNIX 系 OS で日本語処理を行うために AT&T 日本法人・京都大学等が中心となり 1985 年に策定された日本語文字エンコーディングで、Solaris (旧 SunOS)・BSD・初期 Linux で日本語処理の標準として広く採用されました。JIS X 0208 を完全 ASCII 互換 (8bit 領域のみ) で扱える設計が特徴で、1 バイト目を 8bit (80h-FFh) に固定することで ASCII 範囲 (00-7Fh) との干渉を回避し、Shift_JIS で問題となっていた 5C 問題 (バックスラッシュ衝突) を解消しました。3 バイトコード (8Fh + JIS X 0212 補助漢字) や半角カナ (8Eh + 1 バイト) にも対応し、UNIX 系プログラミング (C・Perl・シェルスクリプト) で日本語処理がトラブルなく行えるため、1990 年代の Web サーバ (Apache + Perl CGI) で広く採用されました。
\ を含む文字列リテラル処理が無問題| エンコーディング | ASCII 互換 | バイト数 | 5C 問題 | 用途 |
|---|---|---|---|---|
| Shift_JIS | 部分 | 1-2B | あり | Windows |
| EUC-JP | 完全 | 1-3B | なし | UNIX/Linux |
| ISO-2022-JP | 完全 (7bit) | 可変 | なし | メール |
| UTF-8 | 完全 | 1-4B | なし | 現代標準 |
EUC-JP は 1990 年代から 2000 年代前半に Linux サーバで広く利用されましたが、2005 年以降 UTF-8 への移行が進み、2026 年現在は新規 Linux ディストリビューションのデフォルトロケールは ja_JP.UTF-8 が標準です。レガシーシステム保守 (CentOS 6 以前・古い CGI スクリプト・Postfix/Sendmail のメール処理) では EUC-JP の知識が依然必要、iconv -f euc-jp -t utf-8 file.txt で UTF-8 変換可能。Perl の use encoding 'euc-jp'; プラグマや MySQL の SET NAMES eucjpms; のようにアプリケーション層でも EUC-JP 指定が必要な場面が残ります。現代 Web 開発では UTF-8 が標準ですが、データインポートで EUC-JP CSV を扱う際は文字コード判定が重要です。
Q1: EUC-JP は Shift_JIS とどう違う? A: ASCII 完全互換 (5C 問題なし)・1 バイト目が必ず 8bit が特徴。UNIX シェル・C 言語で安全に扱える。Shift_JIS は Windows 標準でメモリ効率重視。
Q2: 3 バイトコードとは? A: 8Fh + JIS X 0212 (補助漢字) の組合せで 3 バイトで表現される漢字。日常使用頻度の低い補助漢字 5,801 字を扱うため。
Q3: なぜ UTF-8 に移行した? A: 多言語対応・国際化・絵文字対応で UTF-8 が必須に。EUC-JP は日本語のみ、グローバル Web で不利。Linux ディストリビューションも 2005 年頃から UTF-8 デフォルトに。