睡人亭

文字コード入門

中華人民共和国の文字コード

GB 2312-80

1980年に国家標準局が制定した7,445字の文字表です。俗に「GB(=国guó2家jiā標biāo準zhǔn。日本のJISに相当)漢字」と呼ばれます。

中国の文字コードの基礎です。ちょっと前の中国の文字コードと言えばGB2312を指しました。

1986年に改訂(間違いの訂正など)されていますが、将来的には、後述のGB18030が「オペレーティングシステムへの実装が強制(利用出来ないと市販出来ないという原則)」されているため、そちらが主流になっていくでしょう。

日本のJIS漢字コードも参考にしているため、実装方法が非常によく似ています。

まず文字表があり、全ての文字に「区位編号」(区点番号と同じ)が振られる のは全く同じですが、以下に見るように、第一級・第二級に分けている所もよく似ています。

Unicode2.1のCJK統合漢字領域に収録されていますので、日本語オペレーティングシステム+アプリケーションがUnicode2.1に対応していれば利用可能です。

01~09区
非漢字682文字が収録されています。
16~55区
「第一級」漢字3,755文字が収録されています。
中国の発音符号であるピンインの順に配列されています。
56~87区
「第二級」漢字3,008文字が収録されています。
部首画数順に配列されています。
GB2312:第16区文字表
0123456789
1600 (ā) (ā) (āi) (ái) (āi) (āi) (āi) (ái) (ái)
1610 (ǎi) (ǎi) (ài) (ài) (ài) (ài) (ān) (ān) (ān) (ǎn)
1620 (àn) (àn) (àn) (àn) (àn) (āng) (áng) (àng) (āo) (áo)
1630 (áo) (áo) (ǎo) (ào) (ào) (ào) (ào) () () ()
1640 () (ba) () () () () () () () ()
1650 () () () () () (bái) (bǎi) (bǎi) (bǎi) (bǎi)
1660(bài) (bài) (bài) (bān) (bān) (bān) (bān) (bān) (bān) (bǎn)
1670 (bǎn) (bàn) (bàn) (bàn) (bàn) (bàn) (bàn) (bàn) (bāng) (bāng)
1680 (bāng) (bǎng) (páng) (bǎng) (bàng) (bàng) (bàng) (bàng) (bàng) (bàng)
1690 (bāo) (bāo) (bāo) (bāo) (bāo)
GB2312:第56区文字表
0 1 2 3 4 5 6 7 8 9
5600 廿
5610 丿
5620
5630
5640
5650
5660
5670
5680
5690

文字一覧はこちら(京都大学人文科学研究所 安岡孝一氏のWebサイト掲載のもの)

漢字内碼拡展規範

1995年に全国信息技術標準化技術委員会が発布した21,886字の文字表で、俗に「GBK」と呼ばれます。ただしこれは規格ではなく、あくまで「仕様書」という点に注意しましょう。

この仕様書はGB 13000.1-93(ISO 10646-1 Unicode2.1と同義)のCJK統合漢字20,902字に101字追加したものです。また、GB 2312とのコード互換を重視しています(上位互換)。

文字表

全ての文字に16進数4桁の区位編号が振られます。文字表の区位編号をそのまま2バイトデータとして符号化する方法が「GBK」です。

A1A1~A9EF
非漢字883文字が収録されています。
8140~A0FE
漢字6,763文字が収録されています。
B0A1~FEA0
漢字6,080文字が収録されています。
AA40~FEA0
漢字8,160文字が収録されています。

GBコードと銘打っていても、実質的にGBKであるアプリケーションソフトやWebサイト はよく見られましたが、GB18030という正式規格が制定されましたので、次第にそちらの方にシフトしていくと思われます。

GB18030

2000年に中華人民共和国情報産業省が交付した100万字を超える文字表です。GB2312の拡張であり、GBKを置き換えるべく規格されました。

既存の中国国家標準規格(GB、GBK)との上位互換であり、それに加えてUnicode3.0の拡張漢字A領域を含むUnicodeの文字を完全に収録し、更にそれを拡張できるような仕組みを持っています。

エンコーディングシステムには、1バイト、2バイト、4バイトの可変長方式が採用されています。

領域 文字数 byte数
ASCII互換 128 1byte
GBK互換 23,940 2byte
Unicode BMP互換 50,400 4byte
Unicode 1-16面互換 1,058,400 4byte
その他の将来拡張 478,800 4byte

GB18030の主な文字領域とbyte数

GB18030は中国の文字コードの主流を占める規格になることが規定されています。それは、2001年元旦より「国内の文字情報処理製品が規格の採用を義務づけ」ているからにほかなりません(実際にはその年9月まで延長されました。)。この規格に準拠していないコンピュータ関連商品を販売することが実質的に不可となっています。

WindowsやOfficeのSimsun等、GB18030に対応したフォントは日本でも見られるようになりました。中国用IMEのChineseWriterは7以降のバージョンよりGB18030への完全対応を唱っています。

中国がGB18030を制定する背景には、自国内で必要な少数民族の文字を収録したいという意図があります。中国の少数民族は50以上もあり、現状のUnicodeの拡張では限界があると判断し、まず国内規格を充実する事から始めました。

しかし、将来的には自国規格のUnicodeへの追加も意図しているというしたたかさも持ち合わせています。現にUnicode3.*の拡張A, Bの領域の文字選定に関しては、『漢語大詞典』『四庫全書』『康熙字典』の電子化の際にピックアップされた文字が申請され、実際に収録されています。いずれにせよ、漢字をコンピュータで扱う上で、その本家本元である中国の動向には注目しておいた方がよいでしょう。

より詳しくは、以下のWebサイトを参照してください。

現在の最新バージョンは、GB18030-2005です。

漢字文献情報処理研究会「GB18030情報

IBM : developer Works : Unicode GB 18030: 巨大なコード・ページ