これは、「実現不可能」または「努力する価値がない」の領域に入る可能性がありますが、ここでは説明します。
マルチパート gzip ファイル内に保存されているレコードにランダムにアクセスしようとしています。具体的には、私が興味を持っているファイルは、圧縮されたHeretrix Arc ファイルです。(マルチパート gzip ファイルに慣れていない場合は、gzip 仕様により、複数の gzip ストリームを単一の gzip ファイルに連結できます。それらは辞書情報を共有せず、単純なバイナリの追加です。)
ファイル内の特定のオフセットを探し、gzip マジック ヘッダー バイト (つまり、RFCに従って 0x1f8b) をスキャンし、次のバイトから gzip ストリームを読み取ろうとすることで、これを実行できるはずだと考えています。 . このアプローチの問題は、同じバイトが実際のデータ内にも現れる可能性があることです。そのため、これらのバイトを探すと、gzip ストリームの読み取りを開始する位置が無効になる可能性があります。レコード オフセットがアプリオリに知られていない場合、ランダム アクセスを処理するより良い方法はありますか?