Какво е GZ файл?
GZ файлът е компресиран архив, който се създава с помощта на стандартния алгоритъм за компресиране gzip (GNU zip). Може да съдържа множество компресирани файлове, директории и файлови мъничета. Първоначално този формат е разработен, за да замени форматите за компресиране на UNIX системи. и все още е един от най-често срещаните типове архиви в Linux системи. Приложения като WinZip могат да отварят GZ файлове, за да видят съдържанието им както на Windows, така и на MacOS.
GZ файлов формат - повече информация
Gzip използва алгоритъма DEFLATE за компресиране на архив и се различава от архивния формат ZIP по прилагането на алгоритъма за компресиране върху целия архив а не отделни файлове. Спецификациите на файловия формат GZIP версия 4.3, публикувани от Internet Engineering Task Force (IETF), съдържат подробна информация за файловия формат. Файловият формат се състои от:
- Заглавка на файл
- Заглавки по избор
- Компресирани данни
- Долен колонтитул на файла
Заглавка на GZ файл
Заглавката на файла GZ се състои от 10 байта, както следва:
Офсет | Размер | Стойност | Описание |
---|---|---|---|
0 | 2 | 0x1f 0x8b | Магическо число, идентифициращо типа файл |
2 | 1 | Метод на компресиране * 0-7 (Запазено) * 8 (Намаляване) | |
3 | 1 | Флагове за файлове | |
4 | 4 | 32-битово времево клеймо | |
8 | 1 | Флагове за компресия | |
9 | 1 | ID на операционната система |
Файлови флагове
Стойност | Идентификатор | Описание |
---|---|---|
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 | Unix |
4 | VM/CMS |
5 | TOS на Atari |
6 | HPFS файлова система (OS/2, NT) |
7 | Макинтош |
8 | Z-система |
9 | CP/M |
10 | ТОПС-20 |
11 | NTFS файлова система (NT) |
12 | QDOS |
13 | Жълъд RISCOS |
255 | неизвестен |
GZ Допълнителни заглавки
Незадължителните допълнителни заглавки са тези, както са обозначени с файловите флагове и включват информация като оригиналното име на файла, допълнителни полета, коментари и контролна сума на заглавката.
Компресирани данни
Този раздел съдържа компресираните данни с помощта на алгоритъма за компресиране DEFLATE.
Долен колонтитул на GZ файл
Долният колонтитул на файла е с размер 8 байта и съдържа следната информация.
Офсет | Размер | Описание |
---|---|---|
0 | 4 | Контролна сума (CRC-32) |
4 | 4 | Стойност на размера на некомпресирани данни в байтове |