UnicodeとUTF-8と何が違うのか、という問いに答えられるようにざっくりまとめる
文字集合(符号化文字集合)とは
英語で表現するところの Coded Caracter Set
。「文字」と「一意に振られた番号」のペアの集合体。「一意に振られた番号」のことを符号位置(code point/コードポイント)という。代表的なものはASCIIやUnicode。
符号化方式(文字符号化方式)とは
文字集合の振られたコードポイントをバイト表現に変換するときの方式のこと。コードポイントは文字に対しての番号の情報だが、それを実際のバイト表現で使う場合にどのように扱うかの考え方が符号化方式。
たとえば JIS X 0208
の形式の文字集合の場合、7ビットで扱うやり方で考え出されたのが ISO-2022-JP
、8ビットで平易に扱う考え方が EUC-JP
、同じ8ビットでも計算式を用いてビット数を割り出すのが Shift-JIS
(この部分は関連リンクのサイト参照のこと)。
Unicode
に関してはもっとシンプルで、16ビットで表現されたコードポイントをまま16ビットで扱うのが UTF-16
、8ビットで扱えるようにビット列を工夫するのが UTF-8
。
このように一意で決められたコードポイントをどう扱うかのルールが符号化方式と考えるとわかりやすい。