2017-05-18 9 views
0

私は圧縮アルゴリズムに慣れていません。 zlibやその他のライブラリでgzipストリームの開始部分だけを解凍、変更、再圧縮し、圧縮された残りのストリームと連結することは可能ですか?これは、たとえば、ファイル全体の解凍と再圧縮を避けるために、10GBのgzipファイルのユーザーデータ(ヘッダーではない)の最初のバイトを変更する必要がある場合に実行されます。gzip部分修正と再圧縮

答えて

1

いいえ。圧縮は、通常、後続のデータを圧縮する際に前のデータを使用します。したがって、残りのデータを再圧縮せずに前のデータを変更することはできません。

各ブレークポイントで履歴を元々リセットした圧縮データにブレークポイントがあった場合は例外です。 zlibでは、これは圧縮中にZ_FULL_FLUSHで実行されます。