文字コードについて


まずはじめに

今まで文字コードについて、なんとなく理解しているつもりであったが、全く理解していないことに気づいたので復習も兼ねて文字コードについてまとめます。

文字集合

文字コードについて話す前に、文字集合について。
今まで聞いたことなかったが、文字集合という定義がある。

文字集合とはコンピュータで扱う対象となる文字をとにかく列挙して集めたもの。

英語圏の人たちであれば、
・英字(a, b, ・・・ x, z)
・数字(1, 2, 3, ・・・)
・記号({, }, <, >)

などあれば問題はないが、私たち日本人の場合は

・漢字(日、月、火・・・)
・ひらがな(あ、い、う・・・)
・カタカナ(ア、ア、イ・・・)
なども必要であるため、必要な文字集合はそれぞれ環境によって異なる。

文字符号化集合

文字符号化集合とは、上記にある「文字集合」に対してそれぞれの文字を特定できるように1つずつに番号を振っておき、1バイトや2バイトでのビット組み合わせと対応させている。
簡単にいえば符合の振られた文字集合のこと。

符号化文字集合として代表的なものは以下の通り。
・JIS X 0201
・JIS X 0208
・Unicode

文字符号化方式

文字符号化方式とは、普段我々が文字コードと読んでいるもの。
文字符号化方式として代表的なものは以下の通り。
・UTF-8
・Shift_JIS
・EUC_JP

例えば、Unicodeの文字符号化方式として、UTF-8があるということ。
同じようにJIS X 0208の文字符号化方式として、Shift_JIS、EUC_JPがあるということ。

まとめ

普段文字コードと呼んでいたものに、Unicodeもあったが、正確に言えばUnicodeは文字コードではなかった。奥が深く意外と面白いなと思いました。余裕あればもうちょっと踏み込みたいです。