压缩部分我没用到,主要是解压缩。
1. 网页压缩用的是gzip,虽然内容和zlib一样但是头不一样,所以初始化的时候要用inflateInit2(&strm, 16+MAX_WBITS)而不是inflateInit(&strm)。
2. 为什么zlib可以用一个和输入一样大小的输出缓冲区就实现解压缩呢,一般解压缩不是输出比输入要大吗?
这是因为每次读入一个待解压缩的数据块时,会不断循环,一次解压出一个数据块的数据。会循环多次。
解压缩有两层循环。
2024-03-15 13:55:41
压缩部分我没用到,主要是解压缩。
1. 网页压缩用的是gzip,虽然内容和zlib一样但是头不一样,所以初始化的时候要用inflateInit2(&strm, 16+MAX_WBITS)而不是inflateInit(&strm)。
2. 为什么zlib可以用一个和输入一样大小的输出缓冲区就实现解压缩呢,一般解压缩不是输出比输入要大吗?
这是因为每次读入一个待解压缩的数据块时,会不断循环,一次解压出一个数据块的数据。会循环多次。
解压缩有两层循环。