正準形

正準形

[6] >>5 UCS-4 は学習用の形式かよ。ひどい扱いだな。

仕様書から

[5] JIS X 0221‐1:2001 5. より UCS-4 関係を抜粋:

この符号化文字集合正規形式 (規格を理解するための形式) は、128個の3次元のからなる一つの4次元符号化空間とみなすことができる。

備考
したがって、正規形式の最上位オクテットビット 8 は、適合する CCデータ要素中でそれが 0 に設定されている限り、装置内で内部処理に使うことができる。

それぞれの群は、256個の2次元のからなる。 各面は、256個の1次元のからなり、 各区は256個のからなる。この符号化空間の一つの点に一つの文字を割り当て、 符号化するか、又は点を未使用と宣言している。

正規形式では、4オクテットで各文字を表現し、 これらのオクテットは、それぞれ群、面、区及び点を指定する。 2オクテットでは世界中のすべての文字を収容できないこと及び32ビット表現が現在の処理系の体系になじむことから、 正規形式の4オクテット構成を採用した。

4オクテット正規形式は、4オクテットの符号化文字集合として使用でき、 この場合に、 UCS-4 と呼ぶ。

[7] 6.2 文字の符号化より抜粋:

この符号化文字集合の正規形式では、符号化文字集合全体の中の各文字は、 4オクテットの列で表現する。この列の最上位オクテットは、 群オクテットとする。この列の最下位オクテットは、 点オクテットとする。したがって、この列は、 次のとおり表現できる。

最上位オクテット                           最下位オクテット
 群オクテット | 面オクテット | 区オクテット | 点オクテット

[8] 6.3 オクテットの順序 より:

文字を表現するオクテットの列及びその列の最上位端・最下位端は、 6.2 に示すとおりでなければならない。 オクテット列として直列化するときは、 上位のオクテットが下位のオクテットより先になければならない。 直列化しないときは、オクテットの順序は、 送受間の合意によって定めてよい [16.1 及び附属書 H (参考) 参照]。

[9]

4オクテット正規形式
この正規形式は、この規格群のすべての文字をそれぞれ 4 オクテットで表現して使用できるようにする。

4 オクテット正規形式に適合した CCデータ要素中では、 すべての文字は、 6.2 の規定に従って、 オクテット、オクテット、オクテット及びオクテットからなる 4オクテットで表現しなければならない。

備考 4オクテット正規形式を使った符号化図形文字は、処理用として32ビットの整数型で実装してもよい。 (JIS X 0221‐1:2001 13.1)

ISO-10646-UCS-4

[10647] IANA charset ISO-10646-UCS-4 は、 UCS-4 を表す名前です。

[10648] この名前は XML符号化名としても XML 仕様書で特に言及されています。

XMLにおける文字コードも参照してください。

エンディアン

[11] UCS-4 は32ビット = 8バイト文字コードであり、 大エンディアン (UCS-4BE) と小エンディアン (UCS-4LE) があります。またその他の変則的なエンディアンも存在するようです。

他の符号化方式との関係

[3] UTF-32 と実質的に同じですが、 UTF-32U+10FFFF までのみで、 U-00110000 以上は表現できません。 UCS-4U-7FFFFFFF まですべての符号位置を表現できます。

[10] ISO/IEC 10646 が当初規定していた本来の UTF-8 は、 UCS-4 と同じ範囲のすべての符号位置を表現できました。 現在の UTF-8UTF-32 と同じ範囲に限定されています。

関連

[12] wchar_t で使われることがあります。

メモ