コンピュータを使っていると,画面上でさまざまな文字を目にすると思うが,これはすべて文字コードという考え方に基づいて表示している。ただ,コンピュータの内部と通信用で違う種類の文字コードを使い分けるケースも多く,なにかと複雑。これが原因で文字化けもしょっちゅう起こる。そこで,文字コードの世界を探ってみることにしよう。なお,この記事は日経NETWORK 2002年2月号に掲載したものです。それ以降の情報が盛り込まれていませんので,現在とは異なる場合があります。文字コード規格の基礎を手早く理解したい場合などにお役立てください。

 インターネット上でやりとりされるデータは,すべて0か1のビットの列で表す。画像だろうと音楽だろうと,ビット列であることに変わりはない。文字だって同じである。

 このため,ある文字をどのようなビット列に置き換えるのかということを,あらかじめ決めておく必要がある(図1)。具体的には,こうした対応関係を表にまとめておく。この対応表こそ,今回紹介する文字コードである。

図1●文字列をビット列に直す規則を定めたのが文字コード
図1●文字列をビット列に直す規則を定めたのが文字コード
パソコンや通信はデータをディジタルで扱うので,文字は0か1のビットで表さなくてはならない。そこで,いくつかのビットを使って,どのビット列をどの文字に対応させるかを決めてある。

 1文字を何ビットで表すか──。文字コードを作るには,最初にこれが問題となる。もし5ビットで表すなら,2の5乗で32通りの組み合わせのビット列が作れる。アルファベットのAからZまでの26字を収めるには,十分なビット数である。アルファベットに加え,0から9の数字と小文字のaからzも加えた62字となると,6ビット,つまり2の6乗の64に増やせばぎりぎり収まる。ひらがなやカタカナ,漢字を表そうとすると文字の数が大幅に増えるので,もっとビットの数を増やさないととても足りない。

 主な文字コードを,扱う文字の種類で分類すると,図2のようになる。どれか一つに統一すれば扱いやすい気もするが,とにかく文字コードにはたくさんの種類が乱立しているのが現状である。以下では,文字コードがなぜこれほどまでに複雑になっているのか,歴史をさかのぼりながら見ていくことにする。

図2●文字コードは言語ごとに作られる
図2●文字コードは言語ごとに作られる
英語用や日本語用に作られたもののほかに,世界各国のいろいろな複数の言語に対応した文字コードもある。

この先は会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら