Czym jest plik GZ?
Plik GZ to skompresowane archiwum utworzone przy użyciu standardowego algorytmu kompresji gzip (GNU zip). Może zawierać wiele skompresowanych plików, katalogów i kodów pośredniczących plików. Format ten został początkowo opracowany w celu zastąpienia formatów kompresji w systemach UNIX. i nadal jest jednym z najpopularniejszych typów archiwów w systemach Linux. Aplikacje takie jak WinZip mogą otwierać pliki GZ, aby przeglądać ich zawartość zarówno w systemie Windows, jak i MacOS.
Format pliku GZ — więcej informacji
Gzip używa algorytmu DEFLATE do kompresji archiwum i różni się od formatu archiwum ZIP tym, że stosuje algorytm kompresji do całego archiwum zamiast pojedynczych plików. Specyfikacja formatu pliku GZIP w wersji 4.3 opublikowana przez Internet Engineering Task Force (IETF) zawiera szczegółowe informacje o formacie pliku. Format pliku składa się z:
- Nagłówek pliku
- Opcjonalne nagłówki
- Skompresowane dane
- Stopka pliku
Nagłówek pliku GZ
Nagłówek pliku GZ składa się z 10 bajtów w następujący sposób:
Przesunięcie | Rozmiar | Wartość | Opis |
---|---|---|---|
0 | 2 | 0x1f 0x8b | Magiczna liczba identyfikująca typ pliku |
2 | 1 | Metoda kompresji * 0-7 (Zarezerwowane) * 8 (Spuścić powietrze) | |
3 | 1 | Flagi plików | |
4 | 4 | 32-bitowy znacznik czasu | |
8 | 1 | Flagi kompresji | |
9 | 1 | Identyfikator systemu operacyjnego |
Flagi plików
Wartość | Identyfikator | Opis |
---|---|---|
0x01 | FTEXT | Jeśli ustawione, nieskompresowane dane muszą być traktowane jako tekst zamiast danych binarnych. Ta flaga wskazuje konwersję końca wiersza dla międzyplatformowych plików tekstowych, ale jej nie wymusza. |
0x02 | FHCRC | Plik zawiera sumę kontrolną nagłówka (CRC-16) |
0x04 | FEXTRA | Plik zawiera dodatkowe pola |
0x08 | FNAME | Plik zawiera oryginalną nazwę pliku |
0x10 | FCOMMENT | Plik zawiera komentarz |
0x20 | Zarezerwowany | |
0x40 | Zarezerwowany | |
0x80 | Zarezerwowany |
System operacyjny
Wartość | Opis |
---|---|
0 | System plików FAT (MS-DOS, OS/2, NT/Win32) |
1 | Amigi |
2 | VMS (lub OpenVMS) |
3 | Uniks |
4 | VM/CMS |
5 | Atari TOS |
6 | System plików HPFS (OS/2, NT) |
7 | Macintosh |
8 | Układ Z |
9 | CP/M |
10 | TOPS-20 |
11 | System plików NTFS (NT) |
12 | QDOS |
13 | Żołądź RISCOS |
255 | nieznane |
Opcjonalne nagłówki GZ
Opcjonalne dodatkowe nagłówki są oznaczone flagami plików i zawierają informacje, takie jak oryginalna nazwa pliku, dodatkowe pola, komentarze i suma kontrolna nagłówka.
Skompresowane dane
Ta sekcja zawiera skompresowane dane przy użyciu algorytmu kompresji DEFLATE.
Stopka pliku GZ
Stopka pliku ma rozmiar 8 bajtów i zawiera następujące informacje.
Przesunięcie | Rozmiar | Opis |
---|---|---|
0 | 4 | Suma kontrolna (CRC-32) |
4 | 4 | Wartość rozmiaru nieskompresowanych danych w bajtach |