Автор (ы) | |
---|---|
Разработчик (и) | Проект GNU |
Первоначальный выпуск | 31 октября 1992; 27 лет назад (1992-10-31) |
Стабильный выпуск | 1.10 (GNU Gzip) / 29 декабря 2018; 21 месяц назад (2018-12-29) |
Репозиторий | git.savannah.gnu.org / cgit / gzip.git |
Writte n в | C |
Операционная система | Unix-подобная, Plan 9, Inferno |
Тип | Сжатие данных |
Лицензия | GPLv3 |
Веб-сайт | www.gnu.org / software / gzip / |
gzip - это формат файла и программное приложение используется для сжатия и распаковки файлов. Программа была создана Жан-Лу Гайи и Марком Адлером как бесплатное программное обеспечение, заменяющее программу compress, которая использовалась в начале Системы Unix и предназначены для использования GNU (буква «g» происходит от «GNU»). Версия 0.1 была впервые публично выпущена 31 октября 1992 года, а версия 1.0 последовала за ней в феврале 1993 года.
Распаковка формата gzip может быть реализована как алгоритм потоковой передачи, что является важной функцией для Веб-протоколы, обмен данными и ETL (в стандартных каналах ) приложений.
Расширение имени файла | .gz |
---|---|
Тип Интернет-носителя | application / gzip |
Универсальный идентификатор типа (UTI) | org.gnu.gnu-zip-archive |
Магическое число | 1f 8b |
Разработано | Жан-Лу Гейли и Марком Адлером |
Тип формата | Сжатие данных |
Открытый формат ? | Да |
Веб-сайт | gzip.org (устарело) |
gzip основан на алгоритме DEFLATE, который представляет собой комбинацию LZ77 и кодирования Хаффмана. DEFLATE предназначался для замены LZW и других запатентованных алгоритмов сжатия данных , которые в то время ограничивали удобство использования compress и другие популярные архиваторы.
«gzip» часто также используется для обозначения формата файла gzip, который представляет собой:
1f 8b
), метод сжатия (08
для DEFLATE), 1 байт флагов заголовка, 4-байтовая метка времени, флаги сжатия и идентификатор операционной системы.Хотя формат файла также позволяет объединять несколько таких потоков (сжатые файлы просто распаковываются и объединяются, как если бы они были изначально одним файлом), gzip обычно используется для сжатия только отдельных файлов. Сжатые архивы обычно создаются путем сборки коллекций файлов в один архив tar (также называемый tarball ), а затем сжатия этого архива с помощью gzip. Конечный сжатый файл обычно имеет расширение.tar.gz или.tgz.
gzip не следует путать с форматом архива ZIP, который также использует DEFLATE. Формат ZIP может содержать коллекции файлов без внешнего архиватора, но менее компактен, чем сжатые архивы, содержащие те же данные, поскольку он сжимает файлы по отдельности и не может использовать преимущества избыточности между файлами (твердое сжатие ).
Разработчик (и) | NetBSD Foundation |
---|---|
Репозиторий | cvsweb.netbsd.org / bsdweb.cgi / src / usr.bin / gzip / |
Написано на | C |
Тип | Сжатие данных |
Лицензия | Упрощенная лицензия BSD |
Написаны различные реализации программы. Наиболее широко известна реализация проекта GNU с использованием кода Лемпеля-Зива (LZ77). Версия gzip OpenBSD на самом деле является программой compress, в которую в OpenBSD 3.4 была добавлена поддержка формата gzip. Буква g в этой конкретной версии означает gratis. FreeBSD, DragonFly BSD и NetBSD используют лицензированную BSD реализацию вместо версия GNU; на самом деле это интерфейс командной строки для zlib, предназначенный для совместимости с параметрами реализации GNU. Эти реализации изначально исходят от NetBSD и поддерживают распаковку bzip2 и формат Unix pack.
Альтернативная программа сжатия, улучшающая сжатие на 3-8%, - это Zopfli. Он обеспечивает сжатие, совместимое с gzip, с использованием более исчерпывающих алгоритмов за счет необходимого времени сжатия. Это не влияет на время декомпрессии.
pigz
, написанный Марком Адлером, совместим с gzip и ускоряет сжатие за счет использования всех доступных ядер и потоков ЦП.
Утилита tar, включенная в большинство дистрибутивов Linux, может извлекать файлы.tar.gz, передавая параметр z, например, tar -zxf file.tar.gz.
zlib - это абстракция алгоритма DEFLATE в форме библиотеки, которая включает поддержку как формата файла gzip, так и облегченного формата потока данных в своем API. Формат потока zlib, DEFLATE и формат файла gzip были стандартизированы соответственно как RFC 1950, RFC 1951 и RFC 1952.
Формат gzip используется в HTTP-сжатие, метод, используемый для ускорения отправки HTML и другого контента в World Wide Web. Это один из трех стандартных форматов сжатия HTTP, указанных в RFC 2616. Этот RFC также определяет формат zlib (называемый «DEFLATE»), который совпадает с форматом gzip, за исключением того, что gzip добавляет одиннадцать байтов служебных данных в виде заголовков и трейлеров. Тем не менее, формат gzip иногда рекомендуется вместо zlib, потому что Internet Explorer неправильно реализует стандарт и не может обрабатывать формат zlib, как указано в RFC 1950.
zlib DEFLATE используется внутри Переносимая сетевая графика в формате (PNG).
С конца 1990-х годов bzip2, утилита сжатия файлов, основанная на алгоритме сортировки блоков, приобрела некоторую популярность в качестве замены gzip. Он создает файлы значительно меньшего размера (особенно для исходного кода и другого структурированного текста), но за счет памяти и времени обработки (до 4 раз).
AdvanceCOMP и 7-Zip может создавать файлы, совместимые с gzip, используя внутреннюю реализацию DEFLATE с лучшими степенями сжатия, чем сам gzip - за счет большего процессорного времени по сравнению с эталонной реализацией.