从zlib FAQ中摘录(重点是我的):28. 我能在压缩流中随机访问数据吗? 不行,除非进行一些准备工作。如果在压缩时定期使用Z_FULL_FLUSH,仔细地在这些点写下所有待处理的数据,并保留这些位置的索引,那么就可以从这些点开始解压缩。你必须小心不要过于频繁地使用Z_FULL_FLUSH,因为它会严重降低压缩效率。或者,您可以扫描一次deflate流以生成索引,然后将该索引用于随机访问。请参阅examples / zran.c。