* sar形式のバージョンアップ -(by [[K]], 2020.03.15) ** (0) -要するにもっとコンパクトなsarを考える ** (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にすれば、フィールドをヌルにできる。