[b-free 189] Re: 固定長文字コード (cabinet)

Hayashi (takanori@ohsaki.meidensha.co.jp)
Wed, 05 Feb 1997 16:09:48 +0900

林です。

In message <9702050606.AA21096@hisoft.soft.hitachi.co.jp>
"[b-free 187] 固定長文字コード (cabinet)"
"naitoh_r@soft.hitachi.co.jp (Naitoh Ryuichi)" wrote:
>それは、ともかく。
>文字コード指定セグメントに使っている特殊な文字コードは、文字の列の中で
>切り替えコードを見分けるためにあるのであって、固定長文字コードを決める
>場合には拘る必要はないと思います。わざわざ、0xFE という定数を各文字(4
>バイト)に入れてしまう理由が分かりません。

ここは誤解があるようなので。0xFEという定数を入れるのではなくて、TAD形式
での言語指定コードで連続して現れる0xFEの「個数-1」を入れます。例えばTADで
0xFE,0xFE,0xFE,0x34 という4byteの言語指定コードに対応するコードは0x0234に
なるわけです。(もちろんこれは例でこんな言語指定コードは定義されていません)
ご存知のように言語指定コードは1個以上の0xFEの並びの後に0x20-0xFDの値が続く
形になっています。この0xFEの並びは仕様上は無限ですが、実用的には数個以上に
なるとは考えられないので上記の方法は有効です。
フロッピーディスクでは、ディスク上のファイル名のデフォルト言語を指定する
ためにヘッダに言語コードがこの方法で埋め込まれています。

>ただ TRON の場合だと、文字も図も表現できる TAD が標準データ形式にな
>っているので、文字だけ固定長にしていいのかという疑問があります。
>(図も含んで固定長、というわけにもいかないし。。。)

OSがデータを取り扱うのには、ファイル名の検索など文字列だけに関わる部分
が多々ありますよ。こういう部分では内部文字コードは固定長の方が効率的に
処理できます。もちろん内部文字コードはすべて固定長で扱うというのではなく
て、処理負荷の大きい部分(主に文字列検索)に使うことになるでしょう。

# しかし準TADの多国語化はどうするのだろうか

---
    林(takanori@ohsaki.meidensha.co.jp)