--在线等--使用ZLIB库函数编写基于内存的压缩与解压缩程序(GZ格式)
基于内存:
待压缩数据来自内存(数组等);
压缩后数据在内存中保存(不是文件)。
GZ格式:
ZLIB格式用compress(...)与uncompress(...)函数就可以实现基于内存的输入输出,
GZ格式(带有GZIP格式头、尾)数据怎么基于内存进行处理呢?
通过研究发现,可以用流实现基于内存的输入输出。
基于流的实现:
压缩:deflateInit2(...)、deflate(...)、deflateEnd(...)
解压缩:inflateInit2(...)、inflate(...)、inflateEnd(...)
研究了好几天,还是弄不懂这几个函数怎么使用,主要是格式头的处理不懂,研究了半天源代码(ZLIB-1.2.5.1)总是卡壳。
对于GZIP格式我查了相关资料:
+---+---+--+---+--+--+--+--+---+--+==//===+==//==+--+--+--+--+--+--+--+--+
|ID1|ID2|CM|FLG| MTIME |XFL|OS| extra | data | CRC32 | ISIZE |
+---+---+--+---+--+--+--+--+---+--+==//===+==//==+--+--+--+--+--+--+--+--+
但是自己编写代码总是出错,希望大家能够帮帮我!
在线等!!!