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にすれば、フィールドをヌルにできる。

リロード   新規 編集 差分 添付   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: 2020-03-16 (月) 18:43:04 (118d)