sar形式のバージョンアップ
(0)
(1)
- ビットストリーム長をhh4で書く(4ビット単位)
- ニブルストリーム長をhh4で書く(8ビット単位)
- ビットストリーム長が奇数の場合は、ここの値を2倍してから1を足す
- 偶数の場合は足さない
- ファイル内容以外のバイトストリーム長をhh4で書く
- 残りはファイル内容
(2)
- ディレクトリ
- ファイルID, ファイル名, タイプ情報, タイムスタンプ類, フラグ類, サイズ類
- これらをどう格納しているのかをディレクトリごとに指定
- 親ディレクトリに準じるという指定も可能
- ファイル名はバイトストリームへ(90x90=8100:13bit方式は、ファイル名に対する圧縮がきかない)
- ファイル名は、1〜8バイトだろうか?それともそれより長いのが普通だろうか。
- 拡張子型タイプというのはどうか。つまりファイル名に付与する。実際の中身は関知しない。
- これを前提にするのならファイル名が8バイト以下なのは十分にあり得る。
- じゃあ、ファイル名長はASCIZではなくhh4で書こう。
- デフォルトでは、ファイル名(長さはhh4+1)、拡張子型タイプ(hh4)、タイムスタンプ1個、サイズ1個(hh4)にする。
(3) 日付
- 年は2020に対する差分でいいだろう、符号付き整数で。
- 月は4bit、日は5bit、時間は5bit、分は6bit、秒も6ビット。この部分の合計は26bit。
- じゃあ秒の下2bitは、以下で表現させることにしよう。そうすればバイトストリームにかける。
- そしてそれより下のビットも好きだけ書ける。ニブル単位でビット長を書き、そのあとにニブルフィールドで書く。
- いや、月も含めて全部を1つのフィールドと解釈して、ビット長を書く。
- 年については、ディレクトリごとにベースを指定する。
- また月を0にすれば、フィールドをヌルにできる。
|