文字コード(もじコード)とは、コンピュータで文字を扱うために、1つ1つの文字に割り当てられた番号(の対応表)のことです。コンピュータは0と1しか扱えないため、「あ」や「A」といった文字も、内部ではすべて番号(=バイナリ)として記録されています。その番号と文字の対応ルールが文字コードです。
現実世界でいえば、「暗号の対応表」のようなものです。「1番=あ、2番=い……」という対応表を使って文章を番号に変換して送り、受け取った側は同じ対応表で文字に戻します。ここで送り手と受け手が違う対応表を使うと、まったく別の文字に化けてしまいます——これが「文字化け」の正体です。
文字コードの仕組み
たとえば広く使われる文字コード「UTF-8」では、「A」は65番、「あ」は3バイトの決まった番号列に対応します。ファイルの保存やネットワークでの送信の際には文字がこの番号(バイト列)に変換され、表示するときに再び文字へ戻されます。日本語は文字数が膨大なため、歴史的に複数の文字コードが作られ、共存してきました。
代表的な文字コード
| 文字コード | 特徴 | 主な用途 |
|---|---|---|
| UTF-8 | 世界中の文字を扱える国際規格(Unicode)の代表形式。現在の標準。 | Web・プログラム全般 |
| Shift_JIS | 日本語用として長く使われた形式。Windowsで馴染み深い。 | 古いWindowsのファイル |
| EUC-JP | UNIX系で使われた日本語用の形式。 | 古いUNIX系システム |
| ASCII | 英数字と記号だけの最も基本的な形式。多くのコードの土台。 | 英数字のみのデータ |
文字化けはなぜ起きる?
文字化けは、書いたときと読むときで違う文字コードが使われたときに起きます。Shift_JISで保存されたファイルをUTF-8として開くと、番号の解釈がずれて「縺薙s縺ォ縺。縺ッ」のような意味不明の文字列になります。対処法は、正しい文字コードを指定して開き直すことです。現在はUTF-8への統一が進み、文字化けに遭遇する機会は減っていますが、古いファイルやシステムとのやり取りでは今も注意が必要です。

コメント