小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


あなたの知らない中国語の文字コードの世界


photo credit: kevin dooley via photopin cc

はじめに

仕事で中国語(具体的には中国語の文字コード)について調べる機会があったので、ざっくりとですが、調べたことをまとめてみました。
この記事では、中国語の語学的なことには、一切触れていません。あくまでも中国語をコンピュータ上で表現する際の文字コードについて調べたものです。

繁体字と簡体字という2つの字体

中国語には、繁体字と簡体字という2つの字体が存在します。

  • 繁体字(Traditional Chinese)
    • 台湾・香港・マカオなどで使われる筆画の多い漢字の字体
  • 簡体字(Simplified Chinese)
    • 中国大陸とシンガポールで使われる簡略した漢字の字体

文字コード

繁体字と簡体字という字体はそれぞれ、コンピュータ上で表現する際の文字コードが異なります。中国語には大雑把にいって3種類の文字コードが存在します。

GB2312(簡体字中国語)

GB2312は、簡体字中国語を表現する文字コードです。GB2312には、6763簡体文字と682の記号の合わせて7445字が収録されています。

GB 2312-80(あるいはGB 2312-1980)は、中華人民共和国の国家規格として定められた簡体字中国語の符号化文字集合(いわゆる文字コード)で、主に中国大陸などで使われる
GB 2312 - Wikipedia はてなブックマーク - GB 2312 - Wikipedia

GBK(簡体字中国語)

GBKは、GB2312を拡張した文字コードであり、GB2312に含まれている字も含め、21886字を表現することができます。

中華人民共和国で使われている簡体字用の文字コードGB 2312の拡張である。GBKの文字集合は1993年にGB 2312-80の拡張として定義されたが、GB 2312で未使用のコードポイントを利用してGB 13000.1-93の文字も含んでいた。このためGBKはGB 2312に対して上位互換である。
GBK - Wikipedia はてなブックマーク - GBK - Wikipedia

Windowsで中国語を表現する際のコードページはCP936であり、これはGBKに相当します。したがって、GB2312には収録されていない文字も中国語版Windowsでは読み書きすることができます。

Microsoft Windows95 の簡体字中国語コードページ (CodePage 936) ではこの文字集合を使っており, かなり普及している。体系としては,GB2312 に互換性を持たせつつ, UCS BMP (Unicode) に含まれる漢字(20,902字)のうち,GB2312 に含まれないものをすべて追加したものである。
簡体字中国語 はてなブックマーク - 簡体字中国語

GB18030(簡体字・繁体字中国語)

GB18030は、2000年に制定された比較的新しい文字コードです。最初に制定されたものをGB18030-2000と呼び、その後2005年に改版されたものをGB18030-2005と呼びます。

正式な規格として制定されることのなかったそれまでの拡張文字セットGBKに代わる上位集合であり、互換性も維持している。GB 18030は漢字のほかに少数民族言語の文字をサポートする。漢字は、中華人民共和国の規範漢字である簡体字のほか、Unicodeに含まれる繁体字や日本、韓国などで使われる漢字をも含む。
GB 18030 - Wikipedia はてなブックマーク - GB 18030 - Wikipedia

各文字コードの収録文字数

各文字コードの収録文字数を以下に記載します。この情報は、以下のサイトから引用しています。

文字コード 収録文字数
GB2312 7,445字
GBK 21,886字
GB18030-2005 70,244字

国家主導の強制力を持ったGB18030

情報処理製品へのGB18030サポートの義務付け

2001年より中国国内で販売される情報処理製品には、GB18030のサポートが義務付けられています。これにより、今後は、GB18030が中国における文字コードのスタンダードになると予想されています。

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

GB18030の実装義務における3つのレベル

GB18030の実装義務には、以下のような3つのレベルがあるようです。

  • 外部との文字コード交換装置の無い独立した電子機器:サブセットの約7000文字の実装義務
  • コード交換装置の付いた機器:「GB18030」の約2万7000文字の実装義務
  • 戸籍管理関連:「GB18030」フルセットの実装義務

この「GB18030」の実装義務には3つレベルがあります。まず、外部との文字コード交換装置の無い独立した電子機器は「GB18030」のサブセットの約7000文字の実装義務があります。コード交換装置の付いた機器には「GB18030」の約2万7000文字の実装義務があります。

  さらに、戸籍管理関連には「GB18030」フルセットの実装義務があります。すでに6万文字以上を包括し、現在も文字が追加されつつあるという大掛かりなものです。ただし産業機器は、このフルセットを、必ずしも強要されているわけではありません。
「漢字の国」にみる、電子機器の文字問題(1) 2005/08/16(火) 12:02:05 [サーチナ] はてなブックマーク - 「漢字の国」にみる、電子機器の文字問題(1) 2005/08/16(火) 12:02:05 [サーチナ]

現在、主流となっている文字コード

実際の現場ではどの文字コードが使われているのかということについて、百度(バイドゥ)のテクニカルライターであるid:mizuno_takaakiさんが2008年のエントリで、中国国内の文字コードについて綴っています。それによると、やはり主流はGB18030になりつつあるようです。

実は中国語(簡体字)で現在よく使われている文字コードはGB18030という文字コードで、これはGB2312の上位互換なんだけど、Unicodeとも互換性があるコードであることがわかりました。
(中略)
中国の人たちはGB18030を無意識に使ってるし、逆に日本でもテキストデータは気を抜けばShift_JISになってしまうんだけど、やっぱり UTF-8を使うよう意識しないとだめだなあ、と思いました。
中国語の文字コード - mizuno_takaakiの日記 はてなブックマーク - 中国語の文字コード - mizuno_takaakiの日記