Zlib 3
Zlib 3
NAME
zlib − compression/decompression library
SYNOPSIS
[see zlib.h for full description]
DESCRIPTION
The zlib library is a general purpose data compression library. The code is thread safe, assuming that the
standard library functions used are thread safe, such as memory allocation routines. It provides in-memory
compression and decompression functions, including integrity checks of the uncompressed data. This ver-
sion of the library supports only one compression method (deflation) but other algorithms may be added
later with the same stream interface.
Compression can be done in a single step if the buffers are large enough or can be done by repeated calls of
the compression function. In the latter case, the application must provide more input and/or consume the
output (providing more output space) before each call.
The library also supports reading and writing files in gzip(1) (.gz) format with an interface similar to that of
stdio.
The library does not install any signal handler. The decoder checks the consistency of the compressed data,
so the library should never crash even in the case of corrupted input.
All functions of the compression library are documented in the file zlib.h. The distribution source includes
examples of use of the library in the files test/example.c and test/minigzip.c, as well as other examples in
the examples/ directory.
Changes to this version are documented in the file ChangeLog that accompanies the source.
zlib is built in to many languages and operating systems, including but not limited to Java, Python, .NET,
PHP, Perl, Ruby, Swift, and Go.
An experimental package to read and write files in the .zip format, written on top of zlib by Gilles Vollant
([email protected]), is available at:
http://www.winimage.com/zLibDll/minizip.html and also in the contrib/minizip directory of the
main zlib source distribution.
SEE ALSO
The zlib web site can be found at:
http://zlib.net/
The data format used by the zlib library is described by RFC (Request for Comments) 1950 to 1952 in the
files:
http://tools.ietf.org/html/rfc1950 (for the zlib header and trailer format)
http://tools.ietf.org/html/rfc1951 (for the deflate compressed data format)
http://tools.ietf.org/html/rfc1952 (for the gzip header and trailer format)
Mark Nelson wrote an article about zlib for the Jan. 1997 issue of Dr. Dobb’s Journal; a copy of the article
is available at:
http://marknelson.us/1997/01/01/zlib-engine/
REPORTING PROBLEMS
Before reporting a problem, please check the zlib web site to verify that you have the latest version of zlib;
otherwise, obtain the latest version and see if the problem still exists. Please read the zlib FAQ at:
http://zlib.net/zlib_faq.html
before asking for help. Send questions and/or comments to [email protected], or (for the Windows DLL ver-
sion) to Gilles Vollant ([email protected]).
22 Jan 2024 1
ZLIB(3) Librar y Functions Manual ZLIB(3)
22 Jan 2024 2