文字コード
文字コードとは
文字コードは、文字や記号やそれに類するものを、通信やコンピュータで扱うために、各文字や記号などに対して番号を与えた対応規則の体系である。
要するに、人間が「この文字はこの番号!」的な感じで決めた、文字と番号のマップテーブルが文字コード。
table: 「ascii」の場合
char 10進数 2進数(ビット列)
A 65 01000001
B 66 01000010
... ... ...
文字コードは、現在の世界ではめちゃくちゃ乱立してる状況。
例えば「ascii」という文字セットであれば、65(ビット列:01000001)という文字コードなら、「A」という文字が割り当てられてる。 文字化けが起こる理由
データを渡す側と受け取る側で認識してる文字コードが異なるときに文字化けは起きる
例えば、渡す側が「このテキストはUTF-8で書いている」と思って、データを渡したとする。
そして、受け取る側は「相手から送られてくるテキストはShift-JISで書かれている」と思ってデータを受け取る。
そうすると、例えばUTF-8の文字コードが「A」に与えてるビット列と、Shift-JISの文字コードが「A」に与えてるビット列が違うので文字化けが起きる。
参考: