1# zlib
2
3## 简介
4
5[Zlib](https://zlib.net/)是基于C/C++语言实现的一个通用的数据压缩库。
6
7## 支持的能力
8
9Zlib库提供了内存中(in-momery)压缩、解压缩数据的能力,使用Deflate算法,可以设置不同的压缩级别,对各种类型的数据均有比较好的压缩效果;提供了对处理器和内存使用控制的能力,如果缓冲区足够大,压缩可以通过一个步骤完成,否则可以通过反复调用压缩接口完成。
10
11默认情况下,Zlib接口使用的压缩数据格式是zlib格式([RFC1950](https://www.rfc-editor.org/rfc/rfc1950)),Zlib库还支持使用以“gz”开头的函数接口读取和写入gzip([RFC1952](https://www.rfc-editor.org/rfc/rfc1952))格式的文件。zlib格式的设计目的是在内存和通信通道中使用,紧凑且快速。gzip格式是专为单个文件压缩而设计,其头部比zlib大,以维护目录信息,使用了与zlib不同且较慢的检查方法。
12
13Zlib库解码器会检查压缩数据的一致性,因此即使在输入损坏的情况下,库也不应崩溃。
14
15## 引入zlib能力
16
17如果开发者需要使用zlib相关功能,首先请添加头文件:
18
19```c
20#include <zlib.h>
21```
22
23其次在CMakeLists.txt中添加以下动态链接库:
24
25```
26libz.so
27```
28
29## 接口列表
30
31详见[Zlib库支持的接口文档](https://www.zlib.net/manual.html)32