文字化けの理由
文字コード
コンピューターは電気的なOn/Offで情報を保存する
文字をそのまま保存することは出来ない
文字一つ一つに番号を割り当てることで扱えるようにした
文字と番号の対応表がいわゆる文字コードに当たる
符号化
文字に番号を振り分けたとして、実際にどのような01の並びにするかの規則も考える必要がある
例えば、「あ」を1(1)、「い」を2(10)としたとき、「あい」という文字列は
0110(2bit非負整数の並び)
00010010(4bit非負整数の並び)
0000000100000010(8bit非負整数の並び)
などなど、様々な01の並びにすることを考えられる
文字化け
文字と番号の対応は色々な割り当ての仕方が考えられる
文字列だけあっても、文字コード(及び符号化の規則)がわからないと正しく読み取れない
文字化けとは、文字列を書き込んだときの文字コードと、文字列を読み取ったときのそれが一致しない時に起こる
よく知られている(糸偏の漢字がたくさん出てくる)文字化けはUnicode(UTF-8)で書き込み、Shift JISで読み取る場合