ZLIB(3)

名称
zlib - ライブラリを圧縮/圧縮解除

書式
[see zlib.h for full description]

解説
zlib ライブラリは、汎用のデータ圧縮ライブラリです。コードは スレッドセーフです。このライブラリは、非圧縮データの完全性チェックを 含めて、メモリ内での圧縮、圧縮解除機能持っています。本バージョンの ライブラリでは 1 種類の圧縮方法 (デフレーション) しかサポートしていませんが、 今後その他のアルゴリズムも追加し、同じストリームインタフェースを採用する 予定です。

圧縮は、バッファが十分に大きければ (例えば入力ファイル が mmap されている場合) シングルステップで行うことが可能ですが、 圧縮関数を繰り返して呼び出すことで圧縮することも可能です。 後者の場合は、コールを行う前に アプリケーションは入力を増加させるか、 または出力を消費しておく (出力スペースを増すために) 必要があります。

このライブラリは、 stdio のものと同様なインタフェースによって、 gzip (.gz) 形式のファイルの読み書きもサポートしています。

このライブラリは、シグナルハンドラはインストールしません。デコーダ は、壊れた入力があった場合でもライブラリが絶対にクラッシュしないように、 圧縮データの一貫性をチェックします。

圧縮ライブラリのすべての関数は、ファイル zlib.h に説明してあります。 配布ソースには、このライブラリの使用例を説明したファイル example.c と minigzip.c が入っています。

zlib の Java インプリメンテーションは、 Java Development Kit 1.1 に入っています:

    http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html

Paul Marquess (pmarquess@bfsec.bt.co.uk) によって書かれた zlib への Perl インタフェースは、次の CPAN (Comprehensive Perl Archive Network) サイトで入手できます:

    ftp://ftp.cis.ufl.edu/pub/perl/CPAN/modules/by-mod-ule/Compress/Compress-Zlib*

A.M. Kuchlingamk@magnet.com によって書かれた zlib への Python インタフェースは、次の Python Software Association サイトで入手できます:

    ftp://ftp.python.org/pub/python/contrib/Encoding/zlib*.tar.gz

参照
zlib に関する質問は、次のところに送ってください:

    zlib@quest.jpl.nasa.gov 、またはこれに失敗した場合は下に示す 作者のアドレス。 zlib のホームページは次の通りです:

    http://www.cdrom.com/pub/infozip/zlib/

zlib ライブラリが使っているデータ形式は、次のファイルに入っている RFC (Request for Comments) の 1950 から 1952 に説明してあります:

    ftp://ds.internic.net/rfc/rfc1950.txt (zlib format)
    rfc1951.txt (deflate format)
    rfc1952.txt (gzip format)

これらの文書は、その他の形式でも入手可能です:

    ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html

作者
Version 1.1.3 Copyright (C) 1995-1998 Jean-loup Gailly (jloup@gzip.org) and Mark Adler (madler@alumni.caltech.edu).

このソフトウェアは、いかなる明示的あるいは暗黙的な保証もなしに、 「そのままの形」で提供されています。作者らはこのソフトウェアの使用によって 生じたいかなる損害に対しても責任を負いません。再配布についての必要事項に 関しては、配布ディレクトリを参照してください。 zlib が使用している圧縮形式は、 Phil Katz によって定義されています。 圧縮および zlib 仕様は、L. Peter Deutsch によって書かれました。 問題点を報告してくれたり、 zlib に様々な改善点を助言してくれた、 ここでは名前を挙げられないほどの多数の人々に感謝の意を表します。

UNIX manual page by R. P. C. Rodgers, U.S. National Library of Medicine (rodgers@nlm.nih.gov).