Konverter Deflate til GZIP
Konvertering av rå DEFLATE til GZIP-strøm pakker inn den komprimerte nyttelasten inne i en standard beholder med metadatahoder slik at operativsystemer og webverktøy kan lese den riktig.
Format-sammenligning og tekniske spesifikasjoner
| Spesifikasjon | DEFLATE | GZIP |
|---|---|---|
| MIME-type | application/ | application/ |
| Type | rå DEFLATE-strøm | DEFLATE-strømcontainer |
| Kompresjon | LZ77 + Huffman-kodning | DEFLATE (RFC 1951) |
| Standardsesifikasjon | IETF RFC 1950 / RFC 1951 | IETF RFC 1952 |
| Signatur med magiske byte | 78 01 / 78 9C / 78 DA (zlib header bytes) | 1F 8B (gzip ID1/ID2) |
Oversikt og bruksområder for formatet
Rå DEFLATE-datastrømmer inneholder komprimerte byte uten noen filhoder eller etterslepende sjekksummer. Nettlesere og nettverksverktøy sliter ofte med å behandle disse nakne strømmene fordi de mangler metadata som opprinnelige filnavn, modifikasjonstidsstempler eller operativsystemidentifikatorer. Å pakke inn disse rådataene i en GZIP-beholder løser disse kompatibilitetsproblemene. Utviklere møter rå DEFLATE-strømmer inne i nettverksprotokoller som HTTP-kompresjon, PNG-bildebiter og ZIP-arkiver. Når disse strømmene må lagres som frittstående filer for kommandolinjeverktøy eller standard webnedlastinger, konverterer ingeniører dem til GZIP-formatet. Dette sikrer at dekompresjonsverktøy umiddelbart gjenkjenner filtypen og pakker ut innholdet uten å kaste feil.
Tekniske spesifikasjoner og kodekoversikt
Rå DEFLATE er en bitstrøm etter RFC 1951 som bruker LZ77-referanser og Huffman-koding, uten innrammingsheadere eller fast signatur. MIME-typen application/zlib beskriver en zlib-innpakket DEFLATE-strøm etter RFC 1950, ikke rå DEFLATE. GZIP (application/gzip) pakker en DEFLATE-datadel inn i en header som begynner med bytene 1F 8B og en avslutning med en CRC32-kontrollsum og den ukomprimerte størrelsen modulo 2^32.
OS- og nettleserkompatibilitet
GZIP-strømmer har bred støtte på tvers av moderne operativsystemer, inkludert Linux, macOS og Windows. Kommandolinjeverktøy som gzip, gunzip og 7-Zip leser GZIP-filer direkte. Nettlesere håndterer automatisk GZIP-dekompresjon når de mottar HTTP-responser fra servere, selv om rå DEFLATE ofte krever tilpasset parserkode inne i JavaScript-miljøer eller WebAssembly-moduler.
Nyttig informasjon
Kontroller alltid at dekompresjonsverktøyet ditt leser GZIP-tilhengeren riktig, da korrupte CRC32-sjekksummer på slutten vil få utpakkingsverktøy til å avbryte selv om den underliggende DEFLATE-nyttelasten er intakt.
Ofte stilte spørsmål
Hvordan konverterer du rå DEFLATE til GZIP-strøm uten å miste kvalitet?
Begge formatene bruker tapsfri kompresjon basert på nøyaktig samme DEFLATE-algoritme. Konvertering mellom dem legger ganske enkelt til beholderhoder og sjekksummer rundt de eksisterende komprimerte bytene, noe som betyr at null datatap oppstår under innepakkingsprosessen.
Hva er forskjellen mellom rå DEFLATE og GZIP-strøm?
Rå DEFLATE inneholder bare den komprimerte nyttelasten uten noen identifiserende hoder eller bunntekster. GZIP-strøm er en standardisert filbeholder som legger til et hode på 10 byte og en etterslepende sjekksum på 8 byte til de rå DEFLATE-dataene for metadatasporing og feildeteksjon.