cloud9_note

cloud9に限らないメモ

View on GitHub

文字コード

文字とコードの対応表のこと。

Unicode

世界中の文字を扱うことを目標とした文字コード。
文字符号化方式にUTF-8、UTF-16、UTF-32がある。

文字符号化方式

文字を数値に変換する方法のこと。

UTF-8

符号単位を8bitで扱う。1バイト目がASCIIコードと対応しているため、ASCIIコードの上位互換となる。
1符号化文字を1〜4符号単位で表す。(1文字を8〜32bitで表す。文字によってビット数が異なる。)

UTF-16

符号単位を16bitで扱う。
1符号化文字を1〜2符号単位で表す。(1文字を16bit or 32bitで表す。文字によってビット数が異なる。)
基本多言語面を符号単位1つ、その他の文字をサロゲートペアを使用して符号単位2つで表現する。

UTF-32

符号単位を32bitで扱う。
1符号化文字を1符号単位で表す。1文字を32bitで表すが、実際に使用されるのは21bitまで。

基本多言語面(BMP)

一般的に使用される文字の大部分が含まれる。

サロゲートペア

未使用領域の2つの文字コードを使って1文字を表す手法。
Unicode1.0は16bit = 65536文字で足りると思いこんでいたらしいが、漢字と古ハングルの申請で領域が足りなくなり、無理やり増やしたときに考えたもの。