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が普及し始めている[1]。全言語の主要なウェブサイトに占めるEUC-JPのシェアは、2010年から2019年にかけて0.7%から0.1%に低下している[2]。
制定経緯
[編集]1984年7月、当時UNIXのライセンスを販売していたAT&Tが東アジア・太平洋地域でライセンス事業を展開するため、子会社のAT&Tインターナショナル・ジャパンにUNIXシステム東京事務所(AT&Tユニックス・パシフィック)を設立。最初に日本で事業を展開するにあたり、UNIXの日本語化に向けて石田晴久を委員長に、日本電信電話公社、沖電気工業、東芝、日本電気、日立製作所、富士通、三菱電機といった当時のUNIXベンダーをメンバーとする日本語UNIXシステム諮問委員会を設置した。ここでUNIXで日本語を扱うための文字コードや機能について議論が行われ、その結果をもとに1985年4月30日付けで同委員会から報告書『UNIXシステム日本語機能の提案にあたって』がAT&T側へ提出された[3]。日本語EUCとしてのベースはこの報告書で概ね出来上がっていたが、AT&Tはこれを国際的に通用するよう、国際機能と各国語機能に分けて定義した。そして1986年2月にアナハイムで開催されたUNIXカンファレンス UniForum にて、各国語機能のサポート第1弾として Japanese Application Environment (JAE; 日本語アプリケーション・エンバイロメント) を発表。この中に文字コードの構造 (EUC) と日本語機能で使用される文字セットが定められた[4]。
1990年にJIS X 0212で補助漢字が制定されたことを受けて定義を拡張する必要が生じたため、1991年12月、Open Software Foundation (OSF) とUNIX International (UI)、UNIXシステムラボラトリーズ・パシフィック (USLP) はUNIX上の共通日本語文字コードとして日本語EUCを定義した[5]。
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 |
脚注
[編集]- ^ Davis, Mark (2012年2月3日). “Unicode over 60 percent of the web” (英語). Official Google Blog. 2023年2月5日閲覧。
- ^ “Historical yearly trends in the usage statistics of character encodings for websites”. W3Techs. 2021年6月8日時点のオリジナルよりアーカイブ。2023年2月5日閲覧。
- ^ AT&Tユニックス・パシフィック「AT&Tおよび日本企業によるUNIXシステムV日本語機能の開発について」『情報科学』第21巻第5号、情報科学研究所、1985年、46-62頁、ISSN 0368-3354。
- ^ 門田, 次郎「日本市場におけるAT&TのUNIX戦略―これからのシステムV日本語機能の展開」『コンピュートピア』第20巻第236号、コンピュータ・エージ社、1986年、72-75頁、ISSN 0010-4906。
- ^ 「UNIXの標準化2団体日本語EUC共通化」『標準化ジャーナル』第22巻第3号、日本規格協会、1992年、90頁、ISSN 0285-600X。
参考文献
[編集]- 『UNIX System V 日本語アプリケーション・エンバイロメント リリース 1.0 機能導入説明書』AT&Tユニックス・パシフィック、1986年。
- 中原, 康「III. 日本語処理技術」『電氣學會雜誌』第106巻第12号、1986年、1198-1202頁、ISSN 0020-2878。
- 小野芳彦: UNIXの日本語化の実現方法, 情報処理, Vol.27, No.12 (1986年12月), pp.1393-1400.
- 中原康: 日本語EUCの定義と解説, Revision 1.7, UI-OSF-USLP共同技術資料 (1991年12月10日).