中国の文字規格(メモ)

中国政府は、1980年から文字をデジタル化する為に、国家標準符号化文字集合を40回程配布してきました。

この中で主な文字集合は、1バイトと2バイト以上の文字集合です。

1バイト文字集合とは、GB11383-89及びGB1988-89です。
2バイト以上の文字集合は、GB-2312-80(簡体字)、GB/T12345-90(繁体字)、GBK(UCS対応)、GB13000.1やGB18030-2000(UCS及び少数民族文字対応)など色々な種類があります。

以下で中国でよく使っている文字集合をそれぞれご紹介します。

※ GBという略称は国家標準という意味

GB2312-80

GB2312-80という文字集合は、1980年に政府から中国初の国家標準符号化文字集合として配布されました。GB2312-80は「情報交換用漢字符号化文字集合」と言われ、その中には6763簡体文字と682の記号の合わせて7445文字/記号があります。

この文字集合は、もっともよく使われている文字集合です。中国だけでなく、シンガポールなどの全世界で簡体字を使うところでは全てこの文字集合を使っています。

収容文字

  • 6,763の簡体文字は、第一級の3755当用文字と第二級の3,008次当用文字に分かれています。
  • 682の記号文字は、一般記号(202文字)、箇条番号(60文字)、数字(22文字)、ラテン(52文字)、日本語仮名(169文字)、ギリシア(48文字)、ロシア(66文字)、中国語ピンイン(26文字)、漢字注音文字(37文字)を含んでいます。

文字コード範囲

  • GB2312-80では任意文字を2バイトで表わします。1バイト目は上位バイト、2バイト目は下位バイトといいます。
  • 1バイト目、2バイト目ともに、値の範囲は20から7Eまでになっていますので、GB2312-80文字集合は94×94種類の文字を表わすことができます。
  • 1バイト目のコードを1〜94の「区」、2バイト目のコードを1〜94の「点」とし、区と点で表す文字コードは区点コードと言っています。
  • 実際にコンピュータに入れる2バイトの文字コードは、上位バイトに0x20+区番号、下位バイトに0x20+点番号とし、この2バイトで表わされる文字コードは国標コードと言います。例えば、区点コードは(1,1)と言う文字は、国標コードにすると「0x2121」になります。
  • 国標コードは、ASCIIコードと重なっています。区別する為に、2つのバイトの上位ビットに「1」をセットして、文字コード「0xA1A1〜0xFEFE」としています。この文字コードを、国標内部コードといいます。

文字の分布

文字種 文字数
01-09 符号、数字 682
01-15 未定義 -
16-55
56-87
第一級漢字
第二級漢字
3755
3008
88-94 未定義 -

第一級漢字は、ピンインのアルファベット順で同じ発音の場合、画数順で並べられます。
第二級漢字は、部首順で同じ部首の場合、画数順で並べられます。

GBK

GBK文字集合は、GB2312の拡張版です。MicrosoftのWindows95中国語版の内部コードとして実装されています。

GBK文字集合の中で、GB2312-80に定義される文字のコードポイントは同一です。また、GB13000.1-93*1のCJKに関する文字もサポートしているので、GB2312-80からUnicodeへ置きかえる規格となっています。

*1 GB13000-1-93は、ISO10646-1:1993の中国語版。Unicodeバージョン1.1に基づく。

収容文字

GBKの全ての文字はUnicodeから選択した文字です。GBK文字集合は21,886文字あります。GB13000.1-93からCJKに関する漢字20,902文字、GB13000.1-93のほかの部分に追加した漢字及び記号984文字から構成されます。

  • GB13000.1-93の全てのCJK統一漢字20,902文字(Unicode:0x4E00〜0x9FA5)
  • GB13000.1-93のCJK互換領域から選んだ21文字(Unicode:0x2FF0〜0x2FFB、0x303E)
  • GB13000.1-93のGB2312に入っていないBIG5の図形記号139文字
  • GB13000.1-93のIBM-OS/2専用記号の31文字
  • GB2312-80の非漢字記号
  • GB/T12345-90*2に追加した縦書き記号19文字(GB/T12345-90に縦書き29文字追加されたが、10文字がGB13000.1-93に入っていないので、GBKも入れない)
  • GB2312-80に入っていないローマ数字小文字10文字
  • GB/T12345-90に追加したピンイン記号5文字及びaとg
  • 漢字数字「○」(注:中国語の縦書き本は「108」は「一○八」の書き方がある)
  • 表意記号13文字(Unicode:0x303E、0x2FF0〜0x2FFB)
  • GB13000.1-93のCJK統一領域以外の追加した漢字と部首80文字(「簡体字総表」、「康煕字典」、「辞海」から)
  • 2バイトのユーロマーク

*2 GB2312の繁体字版

文字コード範囲

文字のエンコーディングは、GB2312-80から拡張したものなので、GB2312-80と重なる文字は同じコードです。ただし、GBKの全ての文字はUnicode番号に割り当てるので、Unicodeへマッピングすることができます。

GBK文字コードは、0x8140〜0xFEFEの間です。1バイト目は0x81〜0xFE、2バイト目は0x40〜0xFEの間になります。この範囲で、合計23,940文字コードを表現できますが、実際には21,003漢字、883図形記号を合わせて21,886文字が入っています。

文字の分布

GBKの分類 符号範囲 文字種 文字数
GBK/1領域 A1A1‐A9FE 記号、ローマ小文字 717
GBK/2領域 B0A1‐F7FE 漢字 6763
GBK/3領域 8140-A0FE 漢字 6080
GBK/4領域 AA40-FEA0 漢字 8160
GBK/5領域 A840-A9A0 非漢字 166
ユーザ定義領域 AAA1-AFFE
F8A1-FEFE
A140-A7A0
- 564
658
672
  1. 漢字
    GBK/2領域
    GB2312-80の6,763文字
    GBK/3領域
    GB13000.1-93のCJK漢字6,080文字
    GBK/4領域
    GB13000.1-93のCJK漢字、及び追加した漢字8,160文字です。内訳は、GB13000.1-93のCJK漢字8,059文字、GB13000.1-93にない追加漢字101文字になります。順番は、GB13000.1-93のCJK漢字はGB13000.1-93中での順番、追加した漢字は「康煕字典」中の頁目、行目の順番で並べます。
  2. 図形記号
    GBK/1領域
    GB2312-80の記号及びローマ小文字10文字、GB12345-90の追加記号などを合わせて717文字
    GBK/5領域
    GB13000.1-93の拡張非漢字領域で、即ち、BIG5の非漢字領域及び漢字構造記号、「○」等を合わせて166文字

GB18030-2000

2000年3月17日に中国情報産業省及び国家技術監督局から共同で、GB18030-2000という「情報技術及び情報交換用漢字符号化文字集合 基本拡張集合」が発布されました。

同時にGB18030-2000は国家の強制的な標準で、2001年01月01日から発売する製品は必ず、この標準をサポートしなければならないと発表されました。

この標準は、GBKに基づいて文字を追加して策定した国家標準であり、GBKからGB13080-2000への変換が可能になった為、GBKの使命は終ったとも言えます。

収容文字

GB18030-2000は、1バイトの95(0x20、スペースを含む)文字、符号の894文字と漢字の27,533文字から構成されます。収容する文字は、1バイト、2バイト、4バイトの3種類に分かれています。4バイトの文字コードが追加された為、160万のコードをエンコーディングでき、ISO/IEC10646-1の基本面及び全ての補助面にマッピングできるようになりました。

1バイト文字
GB/T11383-89(ISO4873-1986と相当)の94文字
2バイト文字
GBKの全ての漢字21,003文字と記号883文字
4バイト文字
CJK統一漢字Extension Aの6,530漢字を含むGB13000.1中の全ての文字を収容しています。この部分は、ISO/IEC10646-1:2000(UNICODE3.0)と全て互換されています。文字の順番はGB13000.1の並べる順番と同じですが、文字コードはGB18030-2000の独自文字コードで表わしています。

文字コード範囲

GB18030-2000は、GBK文字集合のように文字についてGB13000.1-93から追加拡張されていますが、文字コード番号についてはまだGB2312-80から拡張したになっています。その為、GB2312-80とGB18030-2000に入っている文字には同じ文字コードがあります。

しかし、GB18030-2000文字コード表には全ての文字が対応するUnicode番号も入っている為、GB18030-2000文字コード表からUnicode番号を検索することができます。詳しいコード範囲は以下の通りです。

  • 1バイト文字:コード範囲は0x00〜0x7Fで、GB11383-89の対応文字が入っている。
  • 2バイト文字:1バイト目は0x81〜0xFEで、2バイト目は0x40〜0x7E及び0x80〜0xFEである。
  • 4バイト文字:1バイト目と3バイト目は0x81〜0xFEの範囲で、2バイト目と3バイト目はGB11383-89で使用していない0x30〜0x39を2バイトエンコーディング拡張コードとして使っている。拡張した4バイトコードは0x81308130〜0xFE39FE39の範囲である。
バイト数 コード範囲 可定義文字数
1バイト 0x00〜0x7F 128
2バイト 1バイト目 2バイト目 23,940
0x81〜0xFE 0x40〜0x7E,
0x80〜0xFE
4バイト 1バイト目 2バイト目 3バイト目 4バイト目 1,587,600
0x81〜0xFE 0x30〜0x39 0x81〜0xFE 0x30〜0x39

文字の分布

割当可能なコードポイントの中で、現在、GB18030の仕様書に字形が記載されている文字の数は、28,522文字です。その分布は次の表の通りです。

GB18030の分類 文字種 文字数
1バイト - 95*1
2バイト 1区
5区
図形符号 728
166
2区
3区
4区
漢字 6763
6080
8160
4バイト 漢字 6530

*1 1バイトの95文字は、空白(0x20)を含みます。


HOME

Copyright © 2003 - 2005 Antenna House, Inc. All rights reserved.