「送ってもらったファイル、中身が『』みたいになってて読めないんだけど……」

上司からの電話。私は「えっ、暗号ですか? 呪いですか!?」とパニックになっていました。せっかく徹夜で作った資料が、相手の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」という世界共通の名簿を使うのがスタンダード

今すぐできる確認方法

あなたが持っているメモ帳で「名簿」の種類を見てみましょう。

  1. Windowsの 「メモ帳」 を開く。
  2. 「名前を付けて保存」を押す。
  3. 保存ボタンの左にある 「エンコード」 という欄を見てみてください。「UTF-8」になっていませんか? それが、今あなたが使っている名簿の名前です!

「文字コード」という言葉を知るだけで、あの不気味な記号の羅列(文字化け)が、単なる「ルールのすれ違い」に思えてきませんか?