命令行手册

Man » zlib 在线手册 - zlib 手册页的详细在线文档

🌍
zlib - 压缩/解压缩库

概要

[有关完整描述,请参阅 zlib.h]

描述

zlib 库是一个通用的数据压缩库。 该代码是线程安全的,假设所使用的标准库函数也是线程安全的,例如内存分配例程。 它提供内存中的压缩和解压缩函数,包括对解压缩数据的完整性检查。 此版本的库仅支持一种压缩方法(deflate),但以后可能会添加其他算法,并使用相同的流接口。

如果缓冲区足够大,则可以分一步完成压缩;或者,可以通过重复调用压缩函数来完成。 在后一种情况下,应用程序必须在每次调用之前提供更多输入和/或消耗输出(提供更多输出空间)。

该库还支持使用与 stdio 类似的接口来读取和写入 gzip(1) (.gz) 格式的文件。

该库不会安装任何信号处理程序。 解码器会检查压缩数据的完整性,因此即使在输入数据损坏的情况下,该库也不应崩溃。

压缩库的所有函数都记录在文件中 zlib.h。 分发源代码包括在文件中 test/example.c 和 test/minigzip.c 中使用该库的示例,以及 examples/ 目录中的其他示例。

此版本的更改记录在附带源代码的 ChangeLog 文件中。

zlib 包含在许多语言和操作系统中,包括但不限于 Java、Python、.NET、PHP、Perl、Ruby、Swift 和 Go。

一个实验包,用于读取和写入 .zip 格式的文件,该包由 Gilles Vollant (_) 编写,并建立在 zlib 之上,可在以下网址获得:

http://www.winimage.com/zLibDll/minizip.html,以及主 zlib 源代码发行版中的 contrib/minizip 目录。

参见

zlib 网站可在以下网址找到:

http://zlib.net/

zlib 库使用的数据格式由 RFC(请求注释)1950 到 1952 描述,具体文件如下:

http://tools.ietf.org/html/rfc1950(用于 zlib 标头和尾部格式)
http://tools.ietf.org/html/rfc1951(用于 deflate 压缩数据格式)
http://tools.ietf.org/html/rfc1952(用于 gzip 标头和尾部格式)

Mark Nelson 为 1997 年 1 月版的 Dr. Dobb's Journal 撰写了一篇关于 zlib 的文章;文章的副本可在以下网址找到:

http://marknelson.us/1997/01/01/zlib-engine/

报告问题

在报告问题之前,请检查 zlib 网站,以验证您是否拥有最新版本的 zlib;否则,请获取最新版本,并查看问题是否仍然存在。 请阅读 zlib FAQ:


http://zlib.net/zlib_faq.html

在寻求帮助之前,请查看。将问题和/或评论发送到\_,或(对于 Windows DLL 版本)发送到 Gilles Vollant(\_)。

作者和许可

版本 1.3.1

版权所有,1995-2024 Jean-loup Gailly 和 Mark Adler

本软件按“原样”提供,不提供任何明示或暗示的保证。在任何情况下,作者不对因使用本软件而产生的任何损害承担责任。

允许任何人出于任何目的使用本软件,包括商业用途,并且可以对其进行修改和自由分发,但需遵守以下限制:

不得歪曲本软件的来源;您不得声称您编写了原始软件。如果您在产品中使用此软件,则在产品文档中进行致谢将不胜感激,但这不是必需的。

修改后的源代码版本必须明确标记,并且不得被冒充为原始软件。

不得从任何源代码发行版中删除或更改此通知。

Jean-loup Gailly Mark Adler _ _

zlib 中使用的 deflate 格式由 Phil Katz 定义。deflate 和 zlib 规范由 L. Peter Deutsch 编写。感谢所有报告 zlib 中问题并提出各种改进建议的人;他们太多,无法一一列举。

UNIX 手册页由 R. P. C. Rodgers 编写,美国国家医学图书馆(_)。