文字コードとは?
[文字コード]とは、文字をコンピュータで利用可能にするために創られた取り決めや仕組みの総称のことです。その仕組みは大きく分けて、以下の二つに分かれています。
- 文字集合
- エンコーディングスキーム(文字の符号化)
実際に文字コードをコンピュータで利用可能にするには、作成された文字コードをコンピュータのオペレーティングシステム(Windows MacOS 各種Unix系列等)で使用可能(実装と呼びます)にする必要があります。
オペレーティングシステムに実装され、なおかつアプリケーションソフトレベルで実装された文字コードに対応して初めて、利用者がその文字コードを実際に使う ことができるようになります。
文字集合
[文字集合]とは、文字コードに収録したい文字を選択して特定の区画番号に従って配列した表を指します。
日本の所謂JIS漢字コードの文字表では、94×94の表で構成されています。
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0400 | ぁ | あ | ぃ | い | ぅ | う | ぇ | え | ぉ | |
| 0410 | お | か | が | き | ぎ | く | ぐ | け | げ | こ |
| 0420 | ご | さ | ざ | し | じ | す | ず | せ | ぜ | そ |
| 0430 | ぞ | た | だ | ち | ぢ | っ | つ | づ | て | で |
| 0440 | と | ど | な | に | ぬ | ね | の | は | ば | ぱ |
| 0450 | ひ | び | ぴ | ふ | ぶ | ぷ | へ | べ | ぺ | ほ |
| 0460 | ぼ | ぽ | ま | み | む | め | も | ゃ | や | ゅ |
| 0470 | ゆ | ょ | よ | ら | り | る | れ | ろ | ゎ | わ |
| 0480 | ゐ | ゑ | を | ん | ||||||
| 0490 |
この表に従えば、[あ]は[04区の02番]、[い]は[04区の04番]となります。いわゆる五十音図とは異なり、JIS漢字コードの文字表は「あいうえお」とは並ばずに、「ぁあぃいぅうぇえぉお」と並んでいる点に注意しましょう。
この表で「全てのひらがな」という場合は、「ぁ」から「ん」までとなります。
エンコーディングスキーム
[エンコーディングスキーム]とは、文字表の文字を0と1との組み合わせに置き換える(デジタル化・符号化)するための規則です。
何桁かのビット(バイト・オクテット)を単位(枠組み)とし、その枠の中で特定の文字を任意のビット列に置き換えますが、その際、一つのビット列の組み合わせと文字表の文字一文字が一対一で対応するのが原則となります。
- 英数字用のASCIIコード
- 7ビットを一単位とします。
- 全部で2の7乗=128通りの文字が収納可能です。
- 最上位桁に0を加えて8ビット単位で運用する場合もあります。
- アルファベット以外の欧米文字を使用可能にするために、最上位の1ビットも使った「拡張ASCII」が制定されている
- 日本のJIS漢字コード
- 16ビット(2バイト)を一単位とします。
- 全部で2の16乗=65536通りの文字が収納可能です。
- 組み合わせ方法
- 文字表の数値を計算式に基づいて機械的にビット列に置き換えるものと、文字表の文字番号(数値)をそのままビット列にて置き換えるものなどがあります。
- 前者は日本語用文字コードのエンコーディングスキームで使われ、後者はUnicodeのUCS2のそれとして採用されています。
前のページで述べたように、現在のコンピュータは0と1の組み合わせで全ての情報を処理しますが、文字のような多くの種類がある情報を、コンピュータの内部ではどう取り扱っているのでしょうか?
現在コンピュータ上で文字を利用可能にする方法の主流を占めているのが「文字コード」です。