zlib - compression/decompression library
[see
zlib.h for full 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 version 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.
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/
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 version) to Gilles Vollant (
[email protected]).
Version 1.2.13
Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied warranty. In
no event will the authors be held liable for any damages arising from the use
of this software.
Permission is granted to anyone to use this software for any purpose, including
commercial applications, and to alter it and redistribute it freely, subject
to the following restrictions:
- 1.
- The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use this
software in a product, an acknowledgment in the product documentation
would be appreciated but is not required.
- 0[step].
- Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
- 0[step].
- This notice may not be removed or altered from any source
distribution.
Jean-loup Gailly Mark Adler
[email protected] [email protected]
The deflate format used by
zlib was defined by Phil Katz. The deflate and
zlib specifications were written by L. Peter Deutsch. Thanks to all the
people who reported problems and suggested various improvements in
zlib; who are too numerous to cite here.
UNIX manual page by R. P. C. Rodgers, U.S. National Library of Medicine
(
[email protected]).