CEF
読み:スィーイーエフ
外語:CEF: Character Encoding Form
文字集合
(
CCS
)のコードポイントをコード単位に写像するルール。
目次
概要
特徴
CESとCEF
実装面での考え方
概要
Unicode
には
UTF-16
という符号がある。この符号系は多層的であるが、それぞれの層を呼び分ける必要があり、このためにCEFという呼称が作られた。
CEFは、あくまでもUTF-16で使うために作られた用語であり、UTF-16以外で使われることはまず無い。
特徴
CESとCEF
UTF-16は、16ビット単位の符号系であり、つまり1バイトは16ビットであるということもできる。
一方、
文書ファイル
などは1バイト8ビットのバイト単位で処理されるため、16ビットでファイルに書き出したとしても、コンピューターや通信プロトコルは、それをバイト単位で処理することになる。
さてこの時、バイト単位で処理される姿は従来同様「CES」と呼ばれるが、その元の形である16ビット単位の姿を何と呼ぶべきかという問題が生じ、これを新規に「CEF」という名称を付けて呼ぶようになった。
つまり、Unicodeのコードポイント(CCS)→CEF→CESというように変形されていくことになる。
実装面での考え方
Windows APIやJavaなどは、文字列をUTF-16で扱っている。
プログラミングする際には、この16ビット整数の形で文字を扱うことになるが、このビット整数の状態をCEFと呼ぶことになる。
CEFという状態において、各16ビットの塊をコードユニットと呼ぶ。
例えば亜(U+4E9C)なら0x4e9cという16ビット整数をコードユニットという。BMP外なら、例えば0xD800 0xDC00という二つの16ビット整数のまとまりで表わすが、これは2つのコードユニットで表現されていることになる。
再検索