gzip 部分修改和 re-compression

gzip partial modification and re-compression

我不熟悉压缩算法。是否可以使用 zlib 或其他一些库仅解压缩、修改和重新压缩 gzip 流的开头,然后将其与流的压缩剩余部分连接起来?这将在以下情况下完成,例如,我需要修改 10GB gzip 文件的用户数据的第一个字节(不是 headers)以避免解压缩和重新压缩整个文件。

没有。压缩一般会利用前面的数据来压缩后面的数据。所以你不能改变前面的数据而不重新压缩剩余的数据。

如果最初在压缩数据中放置断点并在每个断点处重置历史记录,则会出现异常。在 zlib 中,这是在压缩期间使用 Z_FULL_FLUSH 完成的。