私は2つの関連する問題を抱えています(Perlで):
- データをバイナリファイルに次の形式で書き込みます:シングルビットフラグとそれに続く8ビット
- 同じフォーマットを読み返す
私はこれを試しました(そして他のバリエーションですが、私の人生ではこれを理解することはできません):
binmode(OUT);
my $bit = pack("B1", '1');
my $byte = pack("H2", "02");
print OUT $bit . $byte;
16進エディタを使用すると、16ビットを取得できます。
1000000000000020
私が欲しいのは9ビットです:
100000020
また、これらのパターンのうち2つを書き出すとします。つまり、最終的に9 + 9=18ビットになります。最後のバイトの処理方法がわかりません(パディング?)
これは、スペースを確保してファイルを圧縮および解凍するためのものです。私は、これを行うための簡単で慣用的な方法があると思っていましたが、私は気づいていませんでした。