符号点とは、符号化
文字集合において、
文字が割り当てられる可能性のある個々の位置のことです。これは「コードポイント」とも呼ばれ、
Unicodeの規格では「符号位置」と訳されます。文脈によっては、単に「点」と呼ばれることもあります。
符号点は、
文字を割り当てるための位置ですが、規格によっては
文字以外の目的で使用されることもあります。例えば、エスケープシーケンスのような制御情報を示すために用いられることがあります。
符号点のバイト列化
符号点は、符号空間内の
座標に相当する
整数列で特定されます。符号空間は1次元の場合もあれば、多次元の場合もあります。例えば、
Unicodeのように1次元の符号空間では、符号点は単一の
整数で表され、これを
Unicodeでは「
Unicodeスカラー値」と呼びます。
この
整数列は、
文字符号化方式に従ってバイト列に変換されます。最も単純なケースでは
整数列がそのままバイト列になりますが、一般的には
整数として見た値とは異なる値に変換されたり、バイト列の長さが変わったりします。
群・面・区・点
符号点とは、
整数列(バイト列ではない)を最後まで使用して指定される点状の
部分集合です。一方、最後から2番目の
整数までで指定される線状の
部分集合を「区」といいます。さらに、最後から3番目の
整数までで指定される面状の
部分集合を「面」、最後から4番目の
整数までで指定される
部分集合を「群」といいます。
これらの階層構造を上位から並べると、「群・面・区・点」となります。群は複数の面から構成され、面は複数の区から、区は複数の点から構成されます。それぞれを特定する最後の
整数を、群番号、面番号、区番号、点番号と呼びます。あるいは、単に群、面、区、点と呼ぶこともあります。この階層構造は、以前の
ISO/IEC 10646|ISO_IEC 10646規格で使用されていましたが、2011年の改訂で群は廃止されました。
符号空間の次元が低い場合、つまり
整数列が短い場合には、上位の
整数は使用されません。群や面は大規模な
文字セットに対応するために導入された概念ですが、区や点は
JIS X 0208などの以前の規格でも使用されていました。
特にJIS規格では、区番号と点番号の2つの
整数を組み合わせたものを「区点番号」または単に「区点」と呼びます。
表現
符号点の表現方法は規格によって異なります。
ASCIIでは、オクテットの値を16進数で表現することが一般的です。例えば、「'A'は4116である」のように表現します。
JIS X 0208では、「x区y点」や「x-y」(xとyは通常10進数)のように表現します。
JIS X 0213では、さらに「面」が加わります。
Unicodeや
ISO/IEC 10646|ISO_IEC 10646では、「U+」の後に
Unicodeスカラー値を16進数で続けた形式(例: U+3042)で表現します。
参考資料
Unicodeに関する用語の日本語表記は、
Unicode, inc.が提供する資料を参考にしています。
Unicode6.0.0/
Unicode6.0.0.pdf'>
Unicode Terminology English - Japanese