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.3. 多言語環境とUnicode
はじめは言語毎に文字集合が定められましたが、 現在では世界の文字に関して共通の文字集合 Unicode (UCS) と utf-8 という符号化方法が普及しています。 全員が Unicodeとutf-8を使うように合わせれば、文字化けせずに世界の文書を扱うことができるようになりました。
... このページを読む12.4.4. 日本語文字コードと変換
新しく作成する文書はUnicodeと utf-8 を使うことが無難です。 過去の文書を読む場合などでは、それ以外の文字コードを読んだり変換して使うこともあるかもしれません。
... このページを読む