EUC-JP

EUC-JP（Extended UNIX Code Packed Format for Japanese、日本語EUC）は日本語の文字を扱う場合に利用されてきた文字コード（符号化方式）のひとつである。

1980年代中頃、当時UNIXのライセンス事業を展開していたAT&TがUNIXの日本語化に向けて、日本のUNIXベンダーをメンバーとする日本語UNIXシステム諮問委員会を設置。ここでUNIXで日本語を扱うための文字コードについて議論が行われ、議論の結果をもとに同委員会から報告書がAT&T側へ出され、AT&Tにより定められた日本語機能のガイドラインがEUC-JPの起こりである。この時、AT&TからExtended Unix Code (EUC) として日本語に限らず多言語に対応できるように定められ、EUCのうち日本語を扱うものを特にEUC-JPなどと呼ぶ。他に、EUC-KR（韓国語）、EUC-CN（簡体中国語）等がある。

EUC-JPはEUCのエンコード方式上にASCIIとJIS X 0208文字集合を配置したもので、半角カナ (JIS X 0201) とJIS補助漢字 (JIS X 0212) も含むことができる。半角カナと補助漢字を使用しない場合は、JIS X 0208で規定されている符号化方式「国際基準版・漢字用8ビット符号」と同一となる。ISO/IEC 2022に適合する。

日本語文字はJIS X 0208をGR領域に表現したものを基本としており、2バイトで表現され、1バイト目、2バイト目ともに0x80 - 0xFFの範囲内にある。このため英数字と日本語文字の区別がしやすく、プログラム上での扱いが楽である。ただし、半角カナはISO-2022-JPやShift_JISと異なり制御文字SS2（シングルシフトツー、0x8E）に続けて現れるので都合2バイト、補助漢字は制御文字SS3（シングルシフトスリー、0x8F）に続けて現れるので都合3バイトを要する。

JIS X 0213:2004に対応するEUCコードはEUC-JIS-2004（2000年初版時はEUC-JISX0213）。

UNIX系OSの標準的な文字エンコードとして使用されてきた。かつて、WebサーバにUNIX系OSが多く用いられていたことから日本語のウェブサイトではShift_JISと並んでEUC-JPが多く使われていたが、2006年頃から世界的にUTF-8が普及し始めている。全言語の主要なウェブサイトに占めるEUC-JPのシェアは、2010年から2019年にかけて0.7%から0.1%に低下している。

 制定経緯 
1984年7月、当時UNIXのライセンスを販売していたAT&Tが東アジア・太平洋地域でライセンス事業を展開するため、子会社のAT&Tインターナショナル・ジャパンにUNIXシステム東京事務所（AT&Tユニックス・パシフィック）を設立。最初に日本で事業を展開するにあたり、UNIXの日本語化に向けて石田晴久を委員長に、日本電信電話公社、沖電気工業、東芝、日本電気、日立製作所、富士通、三菱電機といった当時のUNIXベンダーをメンバーとする日本語UNIXシステム諮問委員会を設置した。ここでUNIXで日本語を扱うための文字コードや機能について議論が行われ、その結果をもとに1985年4月30日付けで同委員会から報告書『UNIXシステム日本語機能の提案にあたって』がAT&T側へ提出された。日本語EUCとしてのベースはこの報告書で概ね出来上がっていたが、AT&Tはこれを国際的に通用するよう、国際機能と各国語機能に分けて定義した。そして1986年2月にアナハイムで開催されたUNIXカンファレンス UniForum にて、各国語機能のサポート第1弾として Japanese Application Environment (JAE; 日本語アプリケーション・エンバイロメント) を発表。この中に文字コードの構造 (EUC) と日本語機能で使用される文字セットが定められた。

1990年にJIS X 0212で補助漢字が制定されたことを受けて定義を拡張する必要が生じたため、1991年12月、Open Software Foundation (OSF) とUNIX International (UI)、UNIXシステムラボラトリーズ・パシフィック (USLP) はUNIX上の共通日本語文字コードとして日本語EUCを定義した。

 EUC-JPの亜種 
EUC-JPには亜種が存在する。二種類を以下に解説する。

eucJP-msは、オープン・グループ及び日本ベンダ協議会が策定した文字符号化方式。実装例はMySQL v5.0以降等。

CP51932はマイクロソフトがWindowsで使用しているWindows-31JのEUC-JP互換表現。実装例はInternet Explorer4.0以降、EmEditor、秀丸エディタ等。このコードはNECのPC-9800シリーズの漢字コード（9区から12区の特殊文字を除外したもの）をGR表現したような体裁を持つ。ただし、PC-9800シリーズの漢字コードはJIS C 6226-1978をベースにするのに対して、CP51932はJIS X 0208-1990をベースとする点が異なる。

   CP51932 eucJP-ms 面＆区番号 1バイト目 2バイト目 面＆区番号 1バイト目 2バイト目 3バイト目 JIS X 0208-1990(ひらがな・カタカナ等) 1面1区 - 8区  0xA1 - 0xA8  0xA1 - 0xFE 1面1区 - 8区  0xA1 - 0xA8 0xA1 - 0xFE  ― NEC特殊文字 1面13区  0xAD  1面13区  0xAD JIS X 0208-1990(第一・第二水準漢字) 1面14区 - 84区  0xB0 - 0xF4  1面14区 - 84区  0xB0 - 0xF4 NEC選定IBM拡張文字 1面89区 - 92区  0xF9 - 0xFC  ―  ―  ― ユーザ定義文字(前半) ―  ―  ― 1面85区 - 94区  0xF5 - 0xFE  0xA1 - 0xFE JIS X 0212-1990(前半) 2面1区 - 11区  0x8F  0xA1 - 0xAB 0xA1 - 0xFE JIS X 0212-1990(後半) 2面16区 - 77区  0xB0 - 0xED IBM拡張文字(JIS X 0212 以外) 2面83区 - 84区  0xF3 - 0xF4 ユーザ定義文字(後半) 2面85区 - 94区  0xF5 - 0xFE

 脚注 

 参考文献 


 小野芳彦: UNIXの日本語化の実現方法, 情報処理, Vol.27, No.12 (1986年12月), pp.1393-1400.
 中原康: 日本語EUCの定義と解説, Revision 1.7, UI-OSF-USLP共同技術資料 (1991年12月10日).

Category:日本語用の文字コード

de:Extended UNIX Coding#EUC-JP
en:Extended Unix Code#EUC-JP
fr:Extended Unix Coding#EUC-JP
zh:EUC#EUC-JP