文字コードって何のためにあるの??エクセルファイルをスプシで開いた時に起きる文字化けの原因
文字化けの原因
Excelで作成したファイルをGoogleスプレッドシートで開いた時に文字化けしてることがありますよね。解決策は文字コードをShift_JIS → UTF-8、またはその逆に修正すればOKなのですが、文字コードって何のためにあるんだろう?と疑問に思う方もいらっしゃいますよね。
文字コードとは??
文字コードとは文字に割り当てた番号のこと。
文字をファイルに保存する時やインターネットでやり取りする時に、この番号で行います。
文字コードって何のためにあるの??
結論、人間とコンピューターがコミュニケーションを取るための翻訳言語みたいなものです。
プログラミングは、人間がコンピューターに指示して機能してもらうための言語ですよね。数字しか扱えないコンピューターと、文字を基本にしている人間がコミュニケーションを取るためには、文字コードのような「日本語の”あ”は数字の”1”に変換する」みたいな取り決めが必要となります。
具体例
例えば、「I'm a perfect human」 を文字コード(UTF-8)で表した結果は以下のようになります。
'I': 73,
"'": 39,
'm': 109,
' ': 32,
'a': 97,
'p': 112,
'e': 101,
'r': 114,
'f': 102,
'c': 99,
't': 116,
'h': 104,
'u': 117,
'n': 110}
文字コードの種類
実は文字コードにはいくつか種類があって、国の言語によって変わります。世界共通のものもあります。
ASCII(アスキー)
文字コードの元祖。(厳密に言えば更なる元祖もいますが。)
詳細はこちらを参考に。
Shift_JIS
日本語に対応した文字コードの一つ。
Windowsが標準の日本語文字コードとして採用したことから広く普及しました。
Unicode
世界共通の国際標準規格。
日本以外でも、世界には様々な文字コードがあります。ただ、その国々で独自の文字コードを使ってしまうと、他国と仕事をするときに文字化けが頻発してしまいますよね。そこで誕生したのがUnicodeです。メジャーな言語のほとんどを網羅しており、貨幣記号などに使われる記号や絵文字も登録されています。これにより言語が異なる国にデータを送っても、文字化けを恐れる心配が減りました。
UTF-8
Unicodeがベースとなった、インターネット上で最も広く使用されている文字コード。
世界中のほぼすべての文字をサポートしています。
スプシはUTF-8、ExcelはShift_JIS。
Googleスプレッドシートは、Webベースのアプリケーションであり、国際的な使用を考慮してUTF-8を採用しています。Microsoft Excelは、特に日本で使用される際にShift_JIS(日本語の文字コード)を使用することがあります。だからエクセルデータをスプシで開くと文字化けしてしまうのです。
今回は以上です。参考になれば幸いです。
Discussion