ZLIB(3)ライブラリ関数マニュアルZLIB(3)

zlib — 圧縮・展開ライブラリ

[詳細はzlib.hを参照してください]

zlibは汎用データ圧縮ライブラリです。メモリ確保ルーチンなど、使用する標準ライブラリの関数がスレッドセーフであるという前提で、コードもスレッドセーフです。非圧縮データの整合性検査を含む、メモリ上の圧縮・展開関数を提供します。この版では圧縮方式は1つ(deflation)だけですが、同じストリームインターフェイスで別のアルゴリズムを後から追加する可能性があります。

バッファーが十分大きければ1回で圧縮でき、圧縮関数を繰り返し呼び出す方法も使えます。後者では各呼び出しの前に、アプリケーションが入力を追加するか、出力を消費して出力領域を増やすか、両方を行わなければなりません。

stdioに似たインターフェイスで、gzip(1)(.gz)形式のファイルの読み書きにも対応します。

ライブラリはシグナルハンドラーを設置しません。デコーダーは圧縮データの整合性を検査するため、入力が破損していてもライブラリがクラッシュすることはないはずです。

圧縮ライブラリの全関数はzlib.hで文書化しています。配布ソースのtest/example.cとtest/minigzip.cに使用例があり、examples/にも別の例があります。

この版の変更は、ソースに付属するChangeLogに記載しています。

zlibは、Java、Python、.NET、PHP、Perl、Ruby、Swift、Goなど、多くの言語やOSに組み込まれています。この一覧に限りません。

Gilles Vollant([email protected])がzlibを使って作成した、.zip形式のファイルを読み書きする実験的パッケージは、次の場所にあります:

https://www.winimage.com/zLibDll/minizip.html。zlib本体のソース配布物のcontrib/minizipにもあります。

zlibのウェブサイト:

https://zlib.net/

zlibが使用するデータ形式は、RFC(Request for Comments)1950〜1952で説明しています:

https://datatracker.ietf.org/doc/html/rfc1950 (zlibヘッダーとトレーラーの形式)
https://datatracker.ietf.org/doc/html/rfc1951 (deflate圧縮データの形式)
https://datatracker.ietf.org/doc/html/rfc1952 (gzipヘッダーとトレーラーの形式)

Mark NelsonはDr. Dobb's Journalの1997年1月号にzlibの記事を書きました。記事のコピーは次の場所にあります:

https://zlib.net/nelson/

問題を報告する前に、zlibのウェブサイトで最新版を使用しているか確認してください。そうでなければ最新版を取得し、問題がまだ発生するか確認してください。zlib FAQも読んでください:

https://zlib.net/zlib_faq.html

助けを求める前に上記FAQを読んでください。質問やコメントは[email protected]へ、Windows DLL版についてはGilles Vollant([email protected])へ送ってください。

版1.3.2

Copyright (C) 1995-2026 Jean-loup Gailly and Mark Adler

このソフトウェアは「現状のまま」で提供され、明示・黙示を問わずいかなる保証もありません。このソフトウェアの使用によって生じるいかなる損害についても、著作者は責任を負いません。

以下の制限に従うことを条件に、商用アプリケーションを含むあらゆる目的でこのソフトウェアを使用し、自由に改変・再配布する許可を、すべての人に与えます。

1.
このソフトウェアの出所を偽ってはいけません。元のソフトウェアを自分が作成したと主張してはいけません。製品で使用する場合、その製品の文書で謝辞を示していただければ幸いですが、必須ではありません。
2.
改変したソース版には、改変したものであると明確に表示しなければなりません。元のソフトウェアであるかのように偽ってはいけません。
3.
ソースを配布する際、この通知を削除したり改変したりしてはいけません。

Jean-loup Gailly Mark Adler
[email protected] [email protected]

zlibが使うdeflate形式はPhil Katzが定義しました。deflateとzlibの仕様はL. Peter Deutschが作成しました。問題を報告し、さまざまな改善を提案してくださったすべての方に感謝します。人数が多く、ここで全員を挙げることはできません。

UNIXマニュアルページの作成者は、米国国立医学図書館のR. P. C. Rodgers([email protected])です。

17 Feb 2026