.GZ вариант №
Файл GZ представляет собой сжатый архив, созданный с использованием стандартного алгоритма сжатия gzip (GNU zip). Он может содержать несколько сжатых файлов, каталогов и файлов-заглушек. Этот формат изначально был разработан для замены форматов сжатия в системах UNIX. и по-прежнему является одним из наиболее распространенных типов архивов в системах Linux. Такие приложения, как WinZip, могут открывать файлы GZ для просмотра их содержимого как в Windows, так и в MacOS.
Формат файла GZ — дополнительная информация
Gzip использует алгоритм DEFLATE для сжатия архива и отличается от формата архива ZIP применением алгоритма сжатия ко всему архиву. а не отдельные файлы. Спецификации формата файла GZIP версии 4.3, опубликованные Инженерной группой Интернета (IETF), содержат подробную информацию о формате файла. Формат файла состоит из:
- Заголовок файла
- Дополнительные заголовки
- Сжатые данные
- Нижний колонтитул файла
Заголовок файла GZ
Заголовок файла GZ состоит из 10 байтов следующим образом:
Смещение | Размер | Значение | Описание |
---|---|---|---|
0 | 2 | 0x1f 0x8b | Магическое число, определяющее тип файла |
2 | 1 | Метод сжатия * 0-7 (зарезервировано) * 8 (дефляция) | |
3 | 1 | Флаги файлов | |
4 | 4 | 32-битная метка времени | |
8 | 1 | Флаги сжатия | |
9 | 1 | Идентификатор операционной системы |
Флаги файлов
Значение | Идентификатор | Описание |
---|---|---|
0x01 | FTEXT | Если установлено, несжатые данные должны обрабатываться как текст, а не как двоичные данные. Этот флаг указывает на преобразование конца строки для кросс-платформенных текстовых файлов, но не обеспечивает его принудительное выполнение. |
0x02 | FHCRC | Файл содержит контрольную сумму заголовка (CRC-16) |
0x04 | FEXTRA | Файл содержит дополнительные поля |
0x08 | FNAME | Файл содержит исходную строку имени файла |
0x10 | FCOMMENT | Файл содержит комментарий |
0x20 | Зарезервировано | |
0x40 | Зарезервировано | |
0x80 | Зарезервировано |
Операционная система
Значение | Описание |
---|---|
0 | Файловая система FAT (MS-DOS, OS/2, NT/Win32) |
1 | Амига |
2 | VMS (или OpenVMS) |
3 | Юникс |
4 | ВМ/CMS |
5 | Условия использования Atari |
6 | Файловая система HPFS (OS/2, NT) |
7 | Макинтош |
8 | Z-система |
9 | КП/М |
10 | ТОПС-20 |
11 | Файловая система NTFS (NT) |
12 | QDOS |
13 | Желудь РИСКОС |
255 | неизвестно |
Дополнительные заголовки GZ
Необязательные дополнительные заголовки обозначаются флагами файла и включают такую информацию, как исходное имя файла, дополнительные поля, комментарии и контрольная сумма заголовка.
Сжатые данные
Этот раздел содержит сжатые данные с использованием алгоритма сжатия DEFLATE.
Нижний колонтитул файла GZ
Нижний колонтитул файла имеет размер 8 байт и содержит следующую информацию.
Смещение | Размер | Описание |
---|---|---|
0 | 4 | Контрольная сумма (CRC-32) |
4 | 4 | Значение размера несжатых данных в байтах |
Использованная литература
- gzip — Википедия
- RFC1952: Спецификация формата файла GZIP, подготовлено IETF.