UCS

ISO/IEC 10646が規定する 4バイト正規形式のUCS(以下UCS-4)は128×256×256×256=2ギガ個の文字を収録できる空間をもっている. [UCS-4では最上位バイトの最上位ビットは使わないので,最上位バイトだけは128になっている. また,実際にはいくつか文字としない部分も含んでいるため,ピッタリ2ギガではなく,2Gよりわずかに少ない.] 上位バイトから順に,Group(群),Plane(面),Row(区),Cell(点)と呼ぶ.

# 名前 個数
1 Group(群) 128
2 Plane(面) 256
3 Row(区) 256
4 Cell(点) 256

BMPと最初の16面

群00の面00つまり先頭の256×256=65536個の文字を,基本多言語面(Basic Multilingual Plane;BMP)と呼ぶ. BMPの文字群はUCS-2の文字になっており,Unicodeでは2バイトのコードだけであらわせる文字(BMPのすべての文字はサロゲートペアを使わなくても表現できる文字)になっている. また,最初の16面(面00〜面10H)は,UTF-16であらわせる範囲になっている. Unicodeでいうと,サロゲートペアを使うとあらわせる範囲になる.

UCS-2とUTF-16の違い

符号化方式 説明
UCS-2 BMPだけを指す文字集合を意味する語. Unicodeでは文字集合だけど, ISO 10646ではエンコーディング スキームとしてもUCS-2が定義されていて, UTF-16からサロゲートの仕組みをのぞいたものに(サロゲート領域の値を使用しないように)なっている.
UTF-16 最初の16面(BMP+面01H〜10H)の文字を表せる. 2バイトではBMPだけしか収録できないので, 残りの面01H〜10Hはサロゲートペアを使って表現する.

はたいたかし
2004-04-26
トップ > 開発ツール > Unicode