人のための文字

12.4. 人のための文字

名簿や住所録など各国の文字を入力し照合することを考えます。 人の使う文字は、当然ながらアルファベットだけではありません。 現在では、Unicodeとutf-8の普及で日本語だけでなく複数の言語を混ぜて表記できます。これは容易なことではなく、さまざまな困難やトレードオフを乗り越えて実現しました。

難しさの一つは、何が文字かの特定です。これは人間が決める (合意する) 必要があります。 また文字の種類が増えると、1文字を何byteで表現するかトレードオフが生じます。ASCIIのように1文字を1 byteで表現できれば効率的です。 一方、1 byte =8bit では256通りの文字種しか表せません。つまりたとえば常用漢字を収録できません。 1文字を2 byte =16bit にすれば 65536文字表現できますが、1文字を1 byteのときより2倍のメモリや通信が必要になります。 さらに世界の言語を収録するためには 65536文字 では不足します。

12.4.1. 1byteでの表現と限界

ASCIIの文字は[0,127]の範囲に割り当てられていて、[128,255]の部分は未使用です。 ここに別の文字を割り当てても 1byte (=8bit) におさめることができます。日本と欧州の例を紹介します。

... このページを読む

12.4.2. 日本語

各国語を扱うためには、文字集合、文字エンコーディングについて共通の了解と、適切なフォントの準備が必要です。 日本語を例に説明します。

... このページを読む

12.4.3. 多言語環境とUnicode

はじめは言語毎に文字集合が定められましたが、 現在では世界の文字に関して共通の文字集合 Unicode (UCS) と utf-8 という符号化方法が普及しています。 全員が Unicodeとutf-8を使うように合わせれば、文字化けせずに世界の文書を扱うことができるようになりました。

... このページを読む

12.4.4. 日本語文字コードと変換

新しく作成する文書はUnicodeと utf-8 を使うことが無難です。 過去の文書を読む場合などでは、それ以外の文字コードを読んだり変換して使うこともあるかもしれません。

... このページを読む

bit列と2進数 人のための文字 1byteでの表現と限界