UCS-2 【Universal multi-octet Character Set 2】 BMP / Basic Multilingual Plane / 基本多言語面
概要
UCS-2(Universal multi-octet Character Set 2)とは、様々な言語の文字を収録した文字集合の標準規格の一つ。1993年にISO/IEC 10646-1として制定されたもので、業界団体のUnicodeコンソーシアムがUnicode 1.0.1として定義したものとほぼ同じ内容となっている。英数字や基本的な記号、ヨーロッパ諸語のアルファベット(キリル文字、ギリシャ文字など)を始め、アラビア文字、ヘブライ文字、タイ文字、モンゴル文字、ハングル、日本語のひらがなやカタカナ、発音記号(IPA:国際音声記号)など、現在世界で日常的に用いられる言語の文字のほとんどが収録されている。
漢字については日本語、中国語、韓国・朝鮮語で実質的に同じ文字を表すとみなされた文字群を一つの統一したものが収録されており、これを「CJK統合漢字」(Chinese-Japanese-Korean Unified Ideographs)という。
UCS-2は個々の文字に2バイト(2オクテット、16ビット)の番号(符号位置、コードポイントと呼ばれる)を割り当て、0番から65,535番(16進数表記でFFFF)までに対応する文字が定められている。UCS-2を部分集合とするより広大な文字コード集合であるUCS-4やUnicode 3.1以降では、UCS-2に相当する先頭から65,535番までの領域をBMP(Basic Multilingual Plane:基本多言語面)と呼ぶ。
UCS-2の文字をコードとして表す文字符号化方式(いわゆる文字コード)にはUTF-8やUTF-16、UTF-32などが利用でき、よく用いられるのはUTF-8である。UTF-16ではUCS-2に含まれる文字については各文字の符号位置をそのままその文字の符号化されたコードとして用いる。
UCS-4 (Universal multi-octet Character Set 2)
UCS-2を拡張し、4バイト(32ビット)の符号空間を扱えるようにした文字集合をUCS-4という。最上位ビットは「0」で予約されており、各文字を31ビットで識別する。理論上は約21億文字を収録できる。
当初の規格ではUnicodeのコードポイントの最大値であるU+10FFFFを超える領域(U+7FFFFFFFに相当する領域まで)を利用する構想だったが、2006年の規格改訂でUnicodeの範囲を超えるコードは使わないことになり、UCS-4を用いる必要性も失われた。