gzip - gzip

редактировать
файла GNU инструмент сжатия / распаковки
gzip
Gzip- Logo.svg
Автор (ы)
Разработчик (и) Проект 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стандартных каналах ) приложений.

Содержание
  • 1 Формат файла
  • 2 Реализации
  • 3 Производные и другие применения
  • 4 См. Также
  • 5 Примечания
  • 6 Ссылки
  • 7 Внешние ссылки
Формат файла
gzip
Расширение имени файла .gz
Тип Интернет-носителя application / gzip
Универсальный идентификатор типа (UTI) org.gnu.gnu-zip-archive
Магическое число 1f 8b
РазработаноЖан-Лу Гейли и Марком Адлером
Тип форматаСжатие данных
Открытый формат ?Да
Веб-сайтgzip.org (устарело)

gzip основан на алгоритме DEFLATE, который представляет собой комбинацию LZ77 и кодирования Хаффмана. DEFLATE предназначался для замены LZW и других запатентованных алгоритмов сжатия данных , которые в то время ограничивали удобство использования compress и другие популярные архиваторы.

«gzip» часто также используется для обозначения формата файла gzip, который представляет собой:

  • 10-байтовый заголовок, содержащий магическое число (1f 8b), метод сжатия (08для DEFLATE), 1 байт флагов заголовка, 4-байтовая метка времени, флаги сжатия и идентификатор операционной системы.
  • необязательные дополнительные заголовки как разрешено флагами заголовка, включая исходное имя файла, поле комментария, «дополнительное» поле и нижнюю половину контрольной суммы CRC-32 для раздела заголовка.
  • тело, содержащий сжатую DEFLATE полезную нагрузку
  • 8-байтовый нижний колонтитул, содержащий контрольную сумму CRC-32 и длину исходных несжатых данных по модулю 2.
Targzip.svg

Хотя формат файла также позволяет объединять несколько таких потоков (сжатые файлы просто распаковываются и объединяются, как если бы они были изначально одним файлом), gzip обычно используется для сжатия только отдельных файлов. Сжатые архивы обычно создаются путем сборки коллекций файлов в один архив tar (также называемый tarball ), а затем сжатия этого архива с помощью gzip. Конечный сжатый файл обычно имеет расширение.tar.gz или.tgz.

gzip не следует путать с форматом архива ZIP, который также использует DEFLATE. Формат ZIP может содержать коллекции файлов без внешнего архиватора, но менее компактен, чем сжатые архивы, содержащие те же данные, поскольку он сжимает файлы по отдельности и не может использовать преимущества избыточности между файлами (твердое сжатие ).

Реализации
NetBSD Gzip / FreeBSD Gzip
Разработчик (и) 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 - за счет большего процессорного времени по сравнению с эталонной реализацией.

См. также
  • Бесплатно и с открытым исходным кодом. программный портал
Примечания
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-22 14:58:57
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте