zlib - библиотека сжатия/распаковки
СИНТАКСИС
[см. zlib.h для полного описания]
ОПИСАНИЕ
Библиотека zlib является универсальной библиотекой для сжатия данных. Код является потокобезопасным, при условии, что стандартные функции библиотеки, используемые в нем, также являются потокобезопасными, такие как функции выделения памяти. Она предоставляет функции сжатия и распаковки в памяти, включая проверку целостности несжатых данных. Эта версия библиотеки поддерживает только один метод сжатия (deflate), но другие алгоритмы могут быть добавлены позже с использованием того же интерфейса потока.
Сжатие может быть выполнено за один шаг, если буферы достаточно большие, или может быть выполнено путем многократных вызовов функции сжатия. В последнем случае приложение должно предоставлять больше входных данных и/или потреблять выходные данные (предоставляя больше места для вывода) перед каждым вызовом.
Библиотека также поддерживает чтение и запись файлов в формате gzip(1) (.gz) с интерфейсом, аналогичным интерфейсу stdio.
Библиотека не устанавливает никаких обработчиков сигналов. Декодер проверяет целостность сжатых данных, поэтому библиотека не должна аварийно завершать работу даже в случае поврежденных входных данных.
Все функции библиотеки сжатия документированы в файле zlib.h. Распространяемый исходный код включает примеры использования библиотеки в файлах test/example.c и test/minigzip.c, а также другие примеры в каталоге examples/.
Изменения в этой версии документированы в файле ChangeLog, который поставляется с исходным кодом.
zlib встроена во многие языки и операционные системы, в том числе, но не ограничиваясь: Java, Python, .NET, PHP, Perl, Ruby, Swift и Go.
Экспериментальный пакет для чтения и записи файлов в формате .zip, написанный на основе zlib компанией Gilles Vollant (_), доступен по адресу:
http://www.winimage.com/zLibDll/minizip.html, а также в каталоге contrib/minizip основной исходной дистрибуции zlib.
СМОТРИТЕ ТАКЖЕ
Веб-сайт zlib можно найти по адресу:
http://zlib.net/
Формат данных, используемый библиотекой zlib, описан в RFC (Request for Comments) 1950-1952 в файлах:
http://tools.ietf.org/html/rfc1950 (для формата заголовка и трейлера zlib)
http://tools.ietf.org/html/rfc1951 (для формата сжатых данных deflate)
http://tools.ietf.org/html/rfc1952 (для формата заголовка и трейлера gzip)
Марк Нельсон написал статью о zlib для январского выпуска журнала Dr. Dobb's Journal 1997 года; копия статьи доступна по адресу:
http://marknelson.us/1997/01/01/zlib-engine/
СООБЩЕНИЕ ОБ ОШИБКАХ
Прежде чем сообщать об ошибке, пожалуйста, проверьте веб-сайт zlib, чтобы убедиться, что у вас установлена последняя версия zlib; в противном случае получите последнюю версию и проверьте, сохранилась ли проблема. Пожалуйста, прочитайте часто задаваемые вопросы о zlib по адресу:
http://zlib.net/zlib_faq.html
Прежде чем обращаться за помощью, ознакомьтесь с этим документом. Вопросы и комментарии можно отправлять по адресу _, или (для версии Windows DLL) к Жилью Воллану (_).
АВТОРЫ И ЛИЦЕНЗИЯ
Версия 1.3.1
Авторское право (C) 1995-2024 Жан-Луп Гайи и Марк Адлер
Это программное обеспечение предоставляется «как есть», без каких-либо явных или подразумеваемых гарантий. Авторы не несут ответственности за любые убытки, возникшие в результате использования этого программного обеспечения.
Разрешается любому использовать это программное обеспечение для любых целей, в том числе в коммерческих целях, изменять его и свободно распространять, при условии соблюдения следующих ограничений:
Нельзя искажать происхождение этого программного обеспечения; нельзя утверждать, что вы написали
исходное программное обеспечение. Если вы используете это программное обеспечение в продукте, благодарность в документации продукта будет оценена, но не требуется.
Измененные версии исходного кода должны быть четко помечены как таковые и не должны представляться как исходное программное обеспечение.
Настоящее уведомление не должно быть удалено или изменено из любого исходного дистрибутива.
Жан-Луп Гайи Марк Адлер _ _
Формат deflate, используемый в zlib, был разработан Филом Кацем. Спецификации deflate и zlib были написаны Л. Петером Дойчем. Благодарим всех, кто сообщал о проблемах и предлагал различные улучшения в zlib; их слишком много, чтобы перечислить здесь.
Страница руководства UNIX от Р. П. К. Роджерса, Национальной медицинской библиотеки США (_).