【文字コード】入門
文字コード(Character Code)
通常、7ビット(128通り)または8ビット(256通り)を最小単位とする。
文字集合
このとき、
- 文字群:レパートリ
- 一意の番号を与えたもの:符号化文字集合
代表的な符号化文字集合はJIS X 0201、JIS X 0208、Unicodeなど
Unicode
符号位置は4桁以上の16進数(例」U+20B9F)で、6桁の16進数で表したとき、最初の2桁を「面(00面~ff面)」、次の2桁を「区(00区~ff区)」、最後の2桁を「点(00点~ff点)」と呼ぶ
基本は「1文字=2バイト」だが、1部の文字は「1文字=4バイト」(サロゲートペア)
従来のUnicodeでは未使用だった0xD800~0xDBEF(1024通り)を上位サロゲート、0xDC00~0xDFFF(1024通り)を下位サロゲートとして、「上位サロゲート+下位サロゲート」の4バイトで文字を表現
例)ǹ
ベースとなる「n」の直後に合成用の「'」と付ける
符号化方式
JIS, Shift JIS, UTF-8, UTF-16, UTF-32
UTF-16
UTF-32
Unicodeの有効ビット数は21ビット弱なので、変換は不要で上位ビットを0埋めすれば良い
バイト列の変換については、ビッグエンディアンがデフォルトで、データの先頭にエンディアンを指定する「バイト順マーク」がつくことがある。
- ビッグエンディアン:00 00 FE FF
- スモールエンディアン:FF FE 00 00
UTF-8
1単位だけで、コードポイントを表現するときは、下位7bitはASCIIと等しく、ASCIIを使っていたコードやシステムと親和性が高く、最も普及しているエンコード