zlib在Z_STREAM_END

时间:2019-02-16 16:31:59

标签: zlib inflate

在获得状态Z_STREAM_END后,如何继续进行解码。如果您在Z_STREAM_END之后调用inflate(),则不会发生任何变化。 我需要在Z_STREAM_END之后继续解码。但是事实是,字典在收到Z_STREAM_END后会重置。结果,不对deflate格式的下一个数据包进行解码,仅对第一个文字进行解码,然后inflate()返回-3。在Z_STREAM_END之后,不应重设字典。

1 个答案:

答案 0 :(得分:0)

这意味着压缩流已结束。如果由于某种原因,您期望刚结束的压缩流之后有另一个压缩流,那么您将需要再次调用inflateInit()inflateInit2()来重新启动解压缩器。