コンピューター上で文字を扱うために、文字や記号に割り振った数値や、その数値の割り振り方のこと。ソフトによって「テキストエンコード」や「テキストエンコーディング」と呼ぶこともある。

 コンピューターで文字を扱う際、内部では文字や記号を数値に置き換えて処理している。それぞれの文字を置き換える数値やルールを、「文字コード」や「文字コード体系」と呼ぶ。

 「シフトJIS」や「EUC」「Unicode」など、OSや利用目的に合わせて作られた複数の文字コードがある。ある文字コードで作成されたテキストを異なる文字コードと誤認識した場合、意味不明な文字が羅列される「文字化け」が生じる。同じ文字コードでも、OSによって独自に部分拡張して文字を割り当てている場合があり、この独自拡張部分を「機種依存文字」という。また、人名や地名で使われる珍しい文字が文字コードに割り当てられていない場合、個別に「外字」として登録、利用することができる。機種依存文字や外字を使って作成したテキストデータは、異なる環境で開いたときに意図した文字で表示されない場合があるので注意が必要だ。

 テキストデータで取り扱う言語や用途の広がりに合わせて、文字コードは常に更新されている。2010年には日本の携帯電話で広く使われていた絵文字をベースにしたイラスト文字が、国際標準のUnicodeに追加された。また2017年12月には、5万8861文字に及ぶ漢字の文字コードの国際規格化が完了した。今後新しい国際規格に合わせたフォントが登場すれば、戸籍や住民基本台帳など、行政の実務で必要とされる人名や地名などの正確な漢字を、幅広い環境で相互に表記できるようになる。

各漢字に割り当てられた文字コード。歴史的な経緯から、文字コードには複数の体系がある。誤ったコードで処理すると、意味不明な文字の羅列が表示される「文字化け」が生じる
各漢字に割り当てられた文字コード。歴史的な経緯から、文字コードには複数の体系がある。誤ったコードで処理すると、意味不明な文字の羅列が表示される「文字化け」が生じる
[画像のクリックで拡大表示]