zlib使用心得

压缩部分我没用到,主要是解压缩。

 

1. 网页压缩用的是gzip,虽然内容和zlib一样但是头不一样,所以初始化的时候要用inflateInit2(&strm, 16+MAX_WBITS)而不是inflateInit(&strm)。

 

2. 为什么zlib可以用一个和输入一样大小的输出缓冲区就实现解压缩呢,一般解压缩不是输出比输入要大吗?

这是因为每次读入一个待解压缩的数据块时,会不断循环,一次解压出一个数据块的数据。会循环多次。

解压缩有两层循环。

上一篇:第八章 IO库


下一篇:_10.11