Konverter Deflate til GZIP
Konvertering af rå DEFLATE til GZIP-strøm indpakker den komprimerede nyttelast i en standardbeholder med metatadahoveder, så operativsystemer og webværktøjer kan læse den korrekt.
Formatsammenligning & tekniske specifikationer
| Specifikation | DEFLATE | GZIP |
|---|---|---|
| MIME-type | application/ | application/ |
| Type | rå DEFLATE-strøm | DEFLATE-strømcontainer |
| Komprimering | LZ77 + Huffman-kodning | DEFLATE (RFC 1951) |
| Standardspecifikation | IETF RFC 1950 / RFC 1951 | IETF RFC 1952 |
| Magic Bytes-header | 78 01 / 78 9C / 78 DA (zlib header bytes) | 1F 8B (gzip ID1/ID2) |
Formatoversigt og anvendelse
Rå DEFLATE-datastrømme indeholder komprimerede byte uden filhoveder eller efterfølgende kontrolsummer. Webbrowsere og netværksværktøjer har ofte svært ved at behandle disse nøgne strømme, fordi de mangler metadata som originale filnavne, ændringstidsstempler eller operativsystemidentifikatorer. Indpakning af disse rå data i en GZIP-beholder løser disse kompatibilitetsproblemer. Udviklere støder på rå DEFLATE-strømme i netværksprotokoller som HTTP-komprimering, PNG-billedblokke og ZIP-arkiver. Når disse strømme skal gemmes som enkeltstående filer til kommandolinjeværktøjer eller standardwebdownloads, konverterer ingeniører dem til GZIP-formatet. Dette sikrer, at dekomprimeringsværktøjer øjeblikkeligt genkender filtypen og udpakker indholdet uden at kaste fejl.
Tekniske specifikationer og codec-oversigt
Rå DEFLATE er en bitstrøm efter RFC 1951, der bruger LZ77-matchning og Huffman-kodning uden rammeheadere eller en fast signatur. MIME-typen application/zlib beskriver en zlib-indpakket DEFLATE-strøm efter RFC 1950, ikke rå DEFLATE. GZIP (application/gzip) pakker en DEFLATE-nyttelast ind i en header, der begynder med bytes 1F 8B, og en trailer med en CRC32-kontrolsum samt den ukomprimerede størrelse modulo 2^32.
OS- og browserkompatibilitet
GZIP-strømme kan prale af universel kompatibilitet på tværs af moderne operativsystemer, herunder Linux, macOS og Windows. Kommandolinjeværktøjer som gzip, gunzip og 7-Zip læser GZIP-filer indbygget. Webbrowsere håndterer automatisk GZIP-dekomprimering, når de modtager HTTP-svar fra servere, selvom rå DEFLATE ofte kræver tilpasset parserlogik i JavaScript-miljøer eller WebAssembly-moduler. Understøttelsen afhænger også af app, enhed, styresystem og version.
Nyttig information
Bekræft altid, at dit dekomprimeringsværktøj læser GZIP-traileren korrekt, da beskadigede efterfølgende CRC32-tjeksums vil få udpakningsværktøjer til at afbryde, selvom den underliggende DEFLATE-nyttelast er intakt.
Ofte stillede spørgsmål
Hvordan konverterer man rå DEFLATE til en GZIP-strøm uden at miste kvalitet?
Begge formater bruger tabsfri komprimering baseret på nøjagtig den samme DEFLATE-algoritme. Konvertering mellem dem tilføjer blot containerhoveder og tjeksummer omkring de eksisterende komprimerede byte, hvilket betyder, at der ikke forekommer datatab under indpakningsprocessen.
Hvad er forskellen mellem rå DEFLATE og en GZIP-strøm?
Rå DEFLATE indeholder kun den komprimerede nyttelast uden identificerende hoveder eller afsluttende data. En GZIP-strøm er en standardiseret filbeholder, der tilføjer et 10-byte-hoved og en 8-byte efterfølgende tjeksum til de rå DEFLATE-data til metadatasporing og fejldetektering.