文字コード(もじコード)

文字コード(もじコード)とは、コンピュータで文字を扱うために、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への統一が進み、文字化けに遭遇する機会は減っていますが、古いファイルやシステムとのやり取りでは今も注意が必要です。

あわせて知っておきたい用語

  • バイナリ
    コンピュータ内部の0と1のデータ。文字コードは文字とバイナリの橋渡しです。
  • Unicode
    世界中の文字を1つの体系にまとめた国際規格。UTF-8はその代表的な形式です。
  • テキストデータ
    文字コードに従って記録された、文字だけのデータです。
  • ビット(Bit)バイト(Byte)
    データ量の単位。文字は文字コードにより1〜数バイトで表されます。

コメント

タイトルとURLをコピーしました