参考链接:
http://www.codeproject.com/Questions/341319/C-Decompress-Gzipped-http-response
http://www.cppblog.com/woaidongmao/archive/2011/06/05/148089.html
http://stackoverflow.com/questions/13762918/setup-zlib-to-generate-gzipped-data
基于原有的代码整理后, 实现基础的gzip格式字节流压缩与解压, 代码如下:
#include
#include
#include
#include
// gzCompress: do the compressing
int gzCompress(const char *src, int srcLen, char *dest, int destLen)
{
z_stream c_stream;
int err = 0;
int windowBits = 15;
int GZIP_ENCODING = 16;
if(src && srcLen > 0)
{
c_stream.zalloc = (alloc_func)0;
c_stream.zfree = (free_func)0;
c_stream.opaque = (voidpf)0;
if(deflateInit2(&c_stream, Z_DEFAULT_COMPRESSION, Z_DEFLATED,
windowBits | GZIP_ENCODING, 8, Z_DE