Code Point
符号位置(コードポイント)とは、Unicode 標準が各文字に割り当てる数値(U+0000 〜 U+10FFFF)であり、符号空間におけるその文字の位置番号である。
目的
すべての文字に一意の数値識別子を与え、符号化形式によらず文字を列挙・検索・参照できるようにする。
メカニズム
符号位置は U+ に 4〜6 桁の 16 進数を続けて表記する。符号空間は 65,536 個ずつの 17 の面に分かれ、面 0(BMP)が最もよく使われる。すべての符号位置が文字に割り当てられているわけではなく、予約領域やサロゲート領域も存在する。
ユースケース
- Unicode 文字の検索と文書化
- 正規表現の \uXXXX エスケープ
- 文字の分類とプロパティ判定
- NFC/NFD の正規化
例
- 入力
AOutputU+0041The code point of uppercase A
よくあるエラー
- Confusing code points with UTF-8 bytes (U+4E2D is not 0x4E 0x2D)
- A code point must pass through an encoding form to become bytes
関連用語
Unicode
Unicode は国際的な文字符号化標準で、世界中のほぼすべての文字体系の各文字に一意の符号位置(U+0000〜U+10FFFF)を割り当てる。符号空間は 1,114,112 点である。 用語集
UTF-8
UTF-8はUnicodeの可変長符号化形式で、符号位置あたり1~4バイトを使用する。ASCIIと完全な後方互換性があり、ウェブと現代のシステムの事実上の標準である。 用語集
Surrogate Pair
サロゲートペアは、補助平面のコードポイント(U+10000~U+10FFFF)を 2 個の 16 ビットコードユニットで表す UTF-16 の仕組みである。 用語集
Charset
文字セット(charset)とは、文字から符号位置への対応表であり、符号化形式(UTF-8 など)と組み合わさって、テキストがバイト列になる方法を決定する。 用語集