「送ってもらったファイル、中身が『』みたいになってて読めないんだけど……」
上司からの電話。私は「えっ、暗号ですか? 呪いですか!?」とパニックになっていました。せっかく徹夜で作った資料が、相手のPCでは意味不明な記号の羅列に変わっていたのです。
とりあえず 「再起動すれば読めるようになります!」 と適当な気合で返しましたが、当然直るはずもなく……。後で先輩から「それは文字コード(Character Code)が合ってないだけだよ」と教えられ、自分の「オカルト的な解釈」に赤面した覚えがあります(笑)。
実は「文字コード」は、コンピューターが文字を識別するための「番号札」のことです。今回は、学校での 「出席番号」 に例えて、その正体をやさしく解説します!
文字コードとは? 一言でいうと「文字に割り振られた『デジタルな番号札』」
結論から言うと、文字コードとは、「コンピューターが文字を扱うために、一つひとつの文字(あ、A、!)に割り当てた固有の番号」 のことです。
学校の 「出席番号」 に例えてみましょう。
- 文字:クラスの生徒一人ひとり。
- 文字コード:「名簿に書かれた『出席番号』」。
コンピューターは「0と1」の数字しか理解できません。だから、「1番は『あ』」「2番は『い』」といった具合に、数字と文字を紐付けるための「名簿(文字コード)」を世界中で決めています。
問題は、この「名簿(ルール)」が一つではないことです。日本には「日本語専用の名簿(Shift_JIS)」があり、海外には「世界共通の名簿(UTF-8)」があります。
送り手が「名簿A(出席番号1番=あ)」で手紙を書き、受け手が「名簿B(出席番号1番=☆)」で読み取ろうとすると、「あ」が「☆」に変わってしまいます。これこそが、あの恐ろしい 「文字化け」 の正体なのです。
ビジネスの現場で文字コードという言葉が出る場面
CSVファイルの取り込みや、Web制作、海外とのデータ連携シーンで頻繁に登場します。
1. 「CSVをExcelで開くと文字化けするから、文字コードをShift_JISに変換して」
意味:
「Excelは『日本語専用の名簿(Shift_JIS)』で読もうとするけど、このデータは『世界共通の名簿(UTF-8)』で書かれているから、番号の解釈がズレて読めなくなっているんだよ。名簿を書き換えてあげてね」ということです。
2. 「サイト全体の文字コードをUTF-8に統一して、多言語対応しよう」
意味:
「日本だけで通じる古い名簿はやめて、世界中のどんな文字(英語も中国語も絵文字も)も1冊に載っている『最強の名簿(UTF-8)』を使おう」ということです。
3. 「プログラミングのソースコードは、必ずUTF-8で保存してね」
意味:
「開発者同士で名簿のルールがバラバラだと、後でプログラムが動かなくなって大惨事になるから、一番標準的な名簿(UTF-8)で書くことを約束しようね」ということです。
代表的な文字コードのたとえ
ITの世界でよく見る「名簿」の性格を整理しました。
| 文字コード名 | 性格 | たとえ話 |
|---|---|---|
| UTF-8 | 世界一の人気者 | 世界中の言葉が載っている「万能辞書」 |
| Shift_JIS | 日本のベテラン | 日本の「広辞苑」 (Windowsや古いExcelで主流) |
| EUC-JP | 職人気質 | 専門的な職場の「用語集」 (古いサーバーなどで主流) |
今は、迷ったら 「UTF-8」 を選んでおけば、まず間違いありません。
まとめ
この記事のポイントは次のとおりです。
- 文字コードは、文字と数字を紐付ける「番号札(名簿)」のこと
- 送り手と受け手で「名簿」の種類が違うと、文字化けが起きる
- 今は「UTF-8」という世界共通の名簿を使うのがスタンダード
今すぐできる確認方法
あなたが持っているメモ帳で「名簿」の種類を見てみましょう。
- Windowsの 「メモ帳」 を開く。
- 「名前を付けて保存」を押す。
- 保存ボタンの左にある 「エンコード」 という欄を見てみてください。「UTF-8」になっていませんか? それが、今あなたが使っている名簿の名前です!
「文字コード」という言葉を知るだけで、あの不気味な記号の羅列(文字化け)が、単なる「ルールのすれ違い」に思えてきませんか?