イー‐ユー‐シー【EUC】
読み方:いーゆーしー
《extended UNIX code》UNIX(ユニックス)上で日本語・朝鮮語・中国語などを扱うために、米国AT&T社が1985年に定めた文字コード。日本語のためには、EUC-JPが策定されている。拡張UNIXコード。→JISコード →シフトJIS →UTF-8 →UTF-16
かくちょう‐ユニックスコード〔クワクチヤウ‐〕【拡張ユニックスコード】
EUC
別名:拡張UNIXコード
EUCとは、文字コードの一種で、UNIX上で様々な文字を扱うための拡張仕様として策定されたマルチバイト文字の規格のことである。
EUCはISO 2022として定義されている文字エンコーディングの標準規格をベースとしており、複数のバイト幅を用いて漢字のような膨大な数の文字でも扱うことができるようになっている。
EUCの日本語版としては、JIS X 0208をベースとして策定されたEUC-JP(日本語EUC)がある。日本語の他にも、韓国語(EUC-KR)、簡体字中国語(EUC-CN)、繁体字中国語(EUC-TW)などの種類が策定され利用されている。
参照リンク
JIS X 0201 片仮名 - (森山 将之のホームページ)
Extended Unix Code
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/02/05 06:10 UTC 版)
Extended Unix Code(EUC)は、UNIX上で使われてきた文字コードの符号化方式である。
- 日本語EUC
- JIS X 0208ベース (EUC-JP)
- JIS X 0213ベース (EUC-JIS-2004)
- 韓国語EUC (EUC-KR)
- 簡体字中国語EUC (EUC-CN)
- 繁体字中国語EUC (EUC-TW)
などがある。
概要
1980年代、UNIXを開発していたAT&Tはアメリカ合衆国以外の国へUNIXを展開するにあたって各国固有の要求に対応するため、UNIXシステムを世界共通の機能となる国際機能と、各国固有の処理に必要な機能となる各国語機能に分けて定義した。この国際機能において、1つの基本コードと3つの拡張コードから構成される4つのコードセットを使用できる文字コードをExtended UNIX Code (EUC; 拡張UNIXコード) として定義した。
厳密にはEUCのコード体系にはバイト単位の可変長コードである「パックフォーマット」と、2バイト固定長の「完全2バイトフォーマット」がある。前者は情報交換用、後者は内部処理用で、一般にEUCという場合前者を指す。ここでも前者について解説する。
EUCのパックフォーマットはISO/IEC 2022を基に、以下のようなサブセット化を行った体系である。
- G0にASCII(主コードセット)を、G1-G3に各言語の文字集合(補助コードセット1-3)を暗黙に指示する。指示のエスケープシーケンスは用いない。
- GLにG0を、GRにG1を暗黙に呼び出す。G2/G3はシングルシフト2/3によりGRに呼び出す。ロッキングシフトは用いない。
補助コードセットが0x80-0xFFの範囲で表されるため、主コードセットと衝突することがない。すなわちShift_JISにおける2バイト目が5C等になりうることによる問題が起きないというメリットがある。
各国向けに局所化した各国語機能のそれぞれの版について、日本語では「 - 語EUC」や「 - 語版EUC」のように呼ばれることが多い。
日本語EUC
日本語EUCはG1-G3に日本産業規格 (JIS) の文字集合を割り当てている。
JIS X 0208ベース
一般に日本語EUCという場合こちらを指す。EUC-JPともいう。ここで、JP
は日本国を表す国・地域コードであって、日本語を表す言語コード (ja
) でない。
1986年にAT&Tによって定義されて以来、UNIXの標準的な日本語コードとして広く使われてきた。1990年にJIS X 0212(補助漢字)が新たに策定されたが、1992年にUNIX Internationalが発行した『UNIX System V リリース 4 (SVR4) 日本語環境共通規約』において、JIS X 0201 カタカナとJIS X 0212 補助漢字は実装が必須ではないとされていた。このため、特にJIS X 0212は実装されていないことも多い。通信などで用いる場合はこの点に注意が必要である。
- G0 - ASCII
- G1 - JIS X 0208
- G2 - JIS X 0201カタカナ
- G3 - JIS X 0212補助漢字
なお、G2とG3を使わない場合はJIS X 0208:1997の「国際基準版・漢字用8ビット符号」と同一となる。
JIS X 0213ベース
JIS X 0213:2004ベースのものをEUC-JIS-2004という(2000年版はEUC-JISX0213)。JIS X 0213の附属書3に記載がある。フリー/オープンソースソフトウェアなどで使われていることがある。
- G0 - ASCII
- G1 - JIS X 0213 1面
- G2 - JIS X 0201カタカナ
- G3 - JIS X 0213 2面
韓国語EUC
1987年にAT&Tユニックス・パシフィックよりリリースされた Korean Application Environment Release 1.0 (KAE 1.0) で規定され、1992年に韓国標準協会によってKS X 2901(旧KS C 5861)『ハングルUNIXエンバイロメント』として標準化された。EUC-KRともいう。ここで、KR
は韓国の国・地域コードであって、朝鮮語の言語コード (ko
) ではない。単にKS C 5601といった場合でも、文字集合としてのKS C 5601でなく、EUC-KRのことを指している場合が多い。
- G0 - ASCII
- G1 - KS X 1001 (KS C 5601)
- G2 - なし
- G3 - なし
EUC-KRを拡張したUHC (Unified Hangul Code) という体系も存在する。
簡体字中国語EUC
中国で広く使われていた。EUC-CNともいう。ここで、CN
は中国の国・地域コードであって、簡体字の用字系コード (Hans
) でも中国語の言語コード (zh
) でもない。単にGB 2312といった場合でも、文字集合としてのGB 2312でなく、EUC-CNのことを指している場合が多い。
- G0 - ASCII
- G1 - GB 2312
- G2 - なし
- G3 - なし
EUC-CNを拡張したGBKという体系も存在する。
繁体字中国語EUC
EUC-TWともいう。ここで、TW
は台湾の国・地域コードであって、繁体字の用字系コード (Hant
) でも中国語の言語コード (zh
) でもない。台湾の規格であるが、あまり使われておらず、一般にはBig5が使われる。
G2の文字は以下の4バイトで構成される。
- シングルシフト2 (0x8E)
- 字面を選択するコード(0xA2-0xB0)
- 文字の第1バイト(0xA1-0xFE)
- 文字の第2バイト(0xA1-0xFE)
課題
![]() | この節は検証可能な参考文献や出典が全く示されていないか、不十分です。2019年8月) ( |
EUCの利用は、すべての文字コードを包含したり、複数の文字コードを切り替えて表示する機能の必要性を否定する場合があり、多くの文字を表示する流れに対して後ろ向きであった点が課題である。これは、文字コード自体の課題ではなく、EUCを利用しているプログラマ、利用者の課題である。
関連項目
Extended Unix Code (EUC)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/30 06:03 UTC 版)
「ISO/IEC 2022」の記事における「Extended Unix Code (EUC)」の解説
Extended Unix Code (EUC) は、ISO/IEC 2022の機構に準じた8ビット符号の文字コードである。これには以下のものが含まれる。次のような特徴を持つ。 アナウンス機能のエスケープシーケンスは省略する。 8ビット符号なので、GR領域も使う。エスケープシーケンスは使わない。 G0にASCIIを、G1にマルチバイト文字集合を、G2やG3に補助的な文字集合を (あれば) 指示し、G0をGL領域に、G1をGR領域に呼び出した状態で始まる (このための制御機能は省略する)。つまり、最初は7ビット符号がASCII、8ビット符号がマルチバイト文字集合で始まる。 指示の状態は固定的に決まっており、変更は行わない。 呼び出しはシングルシフトのみで、G2かG3 (あれば) からGR領域へのみ。 この結果、ASCIIの文字は常に7ビット、それ以外の文字集合の文字は常に8ビットで符号化され、しかも、同じ文字集合の文字は常に同じバイト数で表現されることになる。 #表4に、これらの文字コードで用いる符号化文字集合と、その選択のための制御機能を示す。 EUC-JPでの「日本語版Wikipedia」という文字列の符号化を例に説明する (#表4も参照)。 図3 EUC-JPによる「日本語版Wikipedia」の符号化文字日 本 語 版 W i k i p e d i a 区点行列38-92 43-60 24-76 40-39 05/07 06/09 06/11 06/09 07/00 06/05 06/04 06/09 06/01 符号12/06 15/12 12/11 13/12 11/08 14/12 12/08 12/07 05/07 06/09 06/11 06/09 07/00 06/05 06/04 06/09 06/01 C6 FC CB DC B8 EC C8 C7 57 69 6B 69 70 65 64 69 61 上図で、上段が符号化したい文字列である。「日本語版」は JIS X 0208 に含まれる文字の列、「Wikipedia」はASCIIに含まれる文字の列である。ASCIIはGL領域に、JIS X 0208はGR領域に呼び出されている。したがって、「日本語版」を8ビットで、「Wikipedia」を7ビットで符号化すればよい。マルチバイト文字は区点で、シングルバイト文字は行列で表すと、中段のようになる。区点を2バイトずつで表し、全体を8ビット符号か7ビット符号で表すと、下段のように符号化される。 表4 EUCでの文字集合の選択文字コード対象言語文字集合文字集合選択のための制御機能指示呼び出し EUC-CN(GB2312) 中国語簡体字 ASCII G0 指示したまま GLのまま GB 2312-80 G1 GRのまま EUC-JP(AJEC) 日本語 ASCII G0 指示したまま GLのまま JIS X 0208のいずれかの版 G1 GRのまま JIS X 0201-1976の仮名文字集合 (実装しなくてもよい) G2 08/14SS2(シングルシフトGR) JIS X 0212-1990 (実装しなくてもよい) G3 08/15SS3(シングルシフトGR) EUC-JISX0213 日本語 ASCII G0 指示したまま GLのまま JIS X 0213:2000の1面 G1 GRのまま JIS X 0201-1976の仮名文字集合 (原則として用いない) G2 08/14SS2(シングルシフトGR) JIS X 0213:2000の2面 G3 08/15SS3(シングルシフトGR) EUC-JIS-2004 日本語 EUC-JISX0213 のG1とG3に、それぞれJIS X 0213:2004の1面と2面を指示したもの EUC-KR 韓国語 ASCII G0 指示したまま GLのまま KS X 1001 G1 GRのまま EUC-TW 中国語伝統字 ASCII G0 指示したまま GLのまま CNS 11643の1面 G1 GRのまま CNS 11643の2面以降(面1バイトと区点2バイト) G2 08/14SS2(シングルシフトGR)
※この「Extended Unix Code (EUC)」の解説は、「ISO/IEC 2022」の解説の一部です。
「Extended Unix Code (EUC)」を含む「ISO/IEC 2022」の記事については、「ISO/IEC 2022」の概要を参照ください。
「Extended UNIX Code」の例文・使い方・用例・文例
- Extended_Unix_Codeのページへのリンク