GZIP-arkiv (.gz)
IETF StandardGzip (GZ) är GNU:s standardverktyg för komprimering och filformat, med spridning i Unix-operativsystem och på HTTP-servrar på internet för snabb komprimering av filer och webbmaterial.
Konvertera TAR till GZ
Gratis konverterare från TAR till GZ i webbläsaren. Konvertera filer direkt på din enhet.
Granska och metadata
Operativsystem och filanalysverktyg identifierar GZ-filer genom att granska den inledande sekvensen av binära byte:
Signatur i filhuvudet på bytenivå (magiska byte)
Operativsystem och filanalysverktyg identifierar GZ-filer genom att granska den inledande sekvensen av binära byte:
HEX-SIGNATUR (OFFSET 0):
1F 8B 08ASCII-REPRESENTATION: ..\x08
Standardisering: IETF RFC 1952
Tekniska specifikationer
| Containerarkitektur | 10 byte långt huvud (signatur 0x1F 0x8B, metod 8, flaggor, mtime, OS), följt av DEFLATE-ström och 8 byte lång sidfot |
| Komprimering | DEFLATE-algoritm (LZ77-glidfönster och Huffman-kodning) |
| Byteordning | Little-endian-heltal i huvudet och avslutet |
| Färgrymder | Ej tillämpligt (arkivbehållare) |
| Kanaler och struktur | Komprimerad byteström för en enda fil |
| Maximala dimensioner | Okomprimerad storlek lagras modulo 2^32 (strömmen kan ha obegränsad längd) |
| Transparens | 100 % bitexakt, förlustfri bevaring av data |
| Strömning och progressiv visning | Sekventiell strömning i ett genomlopp via pipes och HTTP-nätverk |
Teknisk jämförelsematris: GZ jämfört med konkurrenter
| Tekniskt attribut | GZ (Aktuell) | BZ2 | BROTLI | ZSTD |
|---|---|---|---|---|
| Dekomprimeringshastighet | Snabb (~300 MB/s) | Långsam (~40 MB/s) | Mycket snabb (~400 MB/s) | Ultrasnabb (>1,5 GB/s) |
| Utbredd användning på webben | Brett stöd i webbläsare och servrar; innehållskodning förhandlas för varje begäran | Inget stöd i webbläsare | Stöds av många webbläsare via HTTPS; versionsstödet varierar | Växande stöd i webbläsare och servrar |
| Paketering av flera filer | Kräver TAR-behållare (.tar.gz) | Kräver TAR-behållare (.tar.bz2) | Rå ström eller anpassad behållare | Kräver TAR-behållare (.tar.zst) |
| Kontrollsummeverifiering | 32-bitars CRC (CRC-32) | 32-bitars CRC per block | Ingen inbyggd i strömmen | 64-bitars xxHash |
Vanliga skadeorsaker och hex-återställningsguide
Extraktionsfel: 'gzip: stdin: unexpected end of file'.
Grundorsak: Filöverföringen avbröts i förtid, vilket kapade DEFLATE-strömmen eller den 8 byte långa CRC32-sidfoten.
Återställning: Extrahera delar av innehållet med 'gzip -d --keep broken.gz' eller File2File.app Gzip Extractor.
Säkerhetsanalys och attackvektorer för tolkar
Gzip-parsare bearbetar användarkontrollerade huvuden och DEFLATE-bitströmmar som måste skyddas mot dekomprimeringsbomber.
Kända attackvektorer
- Dekomprimeringsbomb (zip-bomb) som expanderar megabyte Gzip-data till hundratals gigabyte hårddiskutrymme.
- Buffertspill vid läsning av strängen med det eventuella ursprungliga filnamnet i huvudet.
- Heltalsspill vid jämförelse av 32-bitars CRC-kontroll.
Rekommenderade skyddsåtgärder: Tillämpa strikta gränser för dekomprimering och minnesåtgång i automatiserade tjänster för dataimport.
Historiskt ursprung och milstolpar
Viktiga fördelar
- En vanligt förekommande HTTP-innehållskodning, men klienter och servrar kan förhandla fram andra kodningar eller ingen komprimering alls.
- Bevarar ursprungliga tidsstämplar för filändringar och eventuella ursprungliga filnamn i det 10 byte långa huvudet.
- Låg CPU-belastning vid dekomprimering, som körs smidigt på strömsnåla mobila enheter och routrar.
Tekniska begränsningar
- Komprimerar endast en fil åt gången: flera filer eller kataloger måste först paketeras i ett TAR-arkiv.
- Komprimeringsgraden är lägre än med moderna algoritmer som Brotli och Zstandard för modern webbtext.
- Fältet i sidfoten för okomprimerad storlek är 32-bitars och lagrar värdet modulo 2^32, så visningen kan slå runt för filer över 4 GB.
Intressant teknisk kuriosa
- De magiska bytena 0x1F 0x8B valdes eftersom 0x1F historiskt sett var den första byten i Unix 'compress'-filer, medan 0x8B identifierade Gzip.
- Gzip är fortfarande ett vanligt val för att komprimera webbsvar; användningen varierar mellan webbplatser och svar.
- Jean-loup Gailly skrev komprimeringskoden medan Mark Adler skrev dekomprimeringskoden (inflate); båda tilldelades ACM Software System Award.
Vanliga tekniska frågor
Varför kan jag inte komprimera en mapp med Gzip?
Gzip utformades för att komprimera en enda byteström. För att komprimera en mapp paketerar Unix-system först mappen i en enda .tar-fil och komprimerar den sedan med Gzip för att skapa en .tar.gz-fil.
Vad är skillnaden mellan .gz och .zip?
.zip är ett arkivformat som paketerar flera filer tillsammans med ett katalogindex. .gz komprimerar endast en enskild fil och kombineras vanligen med tar på Unix-system.
Hur kan jag dekomprimera en .gz-fil på Windows eller Mac?
Använd File2File.app för att omedelbart dekomprimera .gz-filer direkt i din webbläsare helt utan programvaruinstallation.
Relaterade konverteringspar för GZ
Att konvertera ett TAR-arkiv till ett GZIP-arkiv omsluter en okomprimerad filsamling i en enda komprimerad ström med hjälp av den förlustfria DEFLATE-algoritmen för att minska filstorleken avsevärt.
Extrahera TAR-data från ett GZIP-komprimerat TAR-arkiv, till exempel .tar.gz eller .tgz.