zlib学习总结

本文探讨了Web服务器如何使用zlib库进行数据压缩,重点介绍了gzip模块的实现原理,并提供了作者自己的中文解读。
摘要由CSDN通过智能技术生成

zlib类库提供了很多种压缩和解压缩的方式,由于时间的关系我只学习一下内容,以下是我在实现web 服务器压缩数据网页中使用到一些函数和常用数据结构、常量等。

zlib使用过程

压缩过程:deflateInit() ->deflate() ->deflateEnd();  对应的解压过程 inflateInit() ->   inflate() ->   inflateEnd(); 
压缩过程:deflateInit2() ->deflate() ->deflateEnd();  对应的解压过程 inflateInit2() ->  inflate() ->  inflateEnd(); 

zlib使用的实例请看:
http://www.zlib.net/zlib_how.html 注释内容详细(英文)

web服务器是如何通过压缩数据,web服务器的gzip模块的实现  我自己写的(中文)

zlib解压缩的实现实例(来自百度百科,本人未加正式,请谅解)

常用的数据结构
typedef struct z_stream_s {
    z_const Bytef *next_in;     //要压缩数据的首地址
    uInt     avail_in;  //压缩数据的长度
    uLong    total_in;  //压缩数据缓冲区的长度

    Bytef    *next_out; //压缩数据保存位置。
    uInt     avail_out; //存放压缩数据位置的首地址
    uLong    total_out; //存放压缩数据位置的大小

    z_const char *msg;  //存放最近的错误信息,NULL表示没有错误
   
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值