Rå DEFLATE (.deflate)
IETF StandardDEFLATE är den mest spridda förlustfria datakomprimeringsalgoritmen i datateknikens historia och har drivit ZIP-arkiv, GZIP-strömmar, PNG-bilder och webbkomprimering via HTTP i över tre decennier.
Konvertera GZIP till DEFLATE
Gratis konverterare från GZIP till DEFLATE i webbläsaren. Konvertera filer direkt på din enhet.
Granska och metadata
Operativsystem och filanalysverktyg identifierar DEFLATE-filer genom att granska den inledande sekvensen av binära byte:
Signatur i filhuvudet på bytenivå (magiska byte)
Operativsystem och filanalysverktyg identifierar DEFLATE-filer genom att granska den inledande sekvensen av binära byte:
HEX-SIGNATUR (OFFSET 0):
Rå DEFLATE saknar fast signatur; zlib-omslutna strömmar börjar med varierande CMF/FLG-byte.ASCII-REPRESENTATION: Ingen fast signatur
Standardisering: IETF RFC 1951 / RFC 1950 (zlib)
Tekniska specifikationer
| Containerarkitektur | Rå bitström enligt RFC 1951 eller zlib-omsluten ström enligt RFC 1950 med två byte lång rubrik och Adler-32-kontrollsumma |
| Komprimering | LZ77 med glidande ordbok (fönster på upp till 32 KB) i kombination med dynamisk eller statisk Huffman-kodning |
| Byteordning | Little-endian-ordning för bitpackning |
| Färgrymder | Ej tillämpligt (datakomprimeringsström) |
| Kanaler och struktur | Rå binär- eller textdataström |
| Maximala dimensioner | Obegränsad strömlängd |
| Transparens | 100 % bitexakt, förlustfri återskapning av data |
| Strömning och progressiv visning | Blockbaserad bitström som stöder kontinuerlig strömning av godtyckligt antal byte |
Teknisk jämförelsematris: DEFLATE jämfört med konkurrenter
| Tekniskt attribut | DEFLATE (Aktuell) | GZ | BROTLI | ZSTD |
|---|---|---|---|---|
| Standardisering | IETF RFC 1951 (rå) / RFC 1950 (zlib) | IETF RFC 1952 (Gzip) | IETF RFC 7932 (Brotli) | IETF RFC 8878 (Zstandard) |
| Glidande fönster | Maximalt 32 kilobyte | Maximalt 32 kilobyte | Upp till 16 megabyte | Upp till 2 gigabyte |
| Kontrollsummeläge | Adler-32 (i zlib-omslutare) | CRC-32 (i gzip-omslutare) | Ingen inbyggd kontrollsumma i strömmen | xxHash64 (snabb 64-bitars hash) |
| Daglig användning | PNG-bilder, PDF-strömmar, ZIP | Unix .tar.gz, HTTP gzip | Webbteckensnitt (WOFF2), HTTP br | Linux-kärnan, databaser, spel |
Vanliga skadeorsaker och hex-återställningsguide
Dekomprimeringen misslyckas med 'Z_DATA_ERROR: incorrect data check'.
Grundorsak: Avvikelse i den 4-byte stora Adler-32-kontrollsumman i slutet av den zlib-omslutna strömmen.
Återställning: Kringgå Adler-32-verifiering med rå inflate eller reparera med File2File.app Deflate Recovery.
Säkerhetsanalys och attackvektorer för tolkar
DEFLATE-parsare måste strikt validera Huffmanträdets konstruktionskoder för att förhindra pekarskrivningar utanför gränserna.
Kända attackvektorer
- Ofullständiga eller överfulla bitlängdstabeller för dynamiska Huffmanträd som leder till ogiltiga minnesläsningar.
- Dekomprimeringsbomb (zip-bomb) som expanderar små nyttolaster till hundratals gigabyte i RAM.
- Läsning utanför buffertens gränser i ej validerade avståndskoder för skjutande fönster.
Rekommenderade skyddsåtgärder: Begränsa den maximala minnesallokeringen och expansionsgraden vid dekomprimering.
Historiskt ursprung och milstolpar
Viktiga fördelar
- DEFLATE är brett implementerat i programbibliotek och filformat, men stödet beror på körmiljön och programmet.
- DEFLATE-specifikationen får implementeras fritt; licensvillkor och stöd beror på den aktuella programvaruimplementationen.
- Snabb dekomprimering med liten minnesåtgång (kräver bara 32 KB minne för det glidande fönstret).
Tekniska begränsningar
- Det glidande fönstret är begränsat till 32 KB, vilket minskar komprimeringseffekten för stora filer med långt ifrån varandra liggande upprepningar.
- Lägre komprimeringsgrad för modernt webbmaterial jämfört med nyare algoritmer som Brotli och Zstandard.
- Råa DEFLATE-strömmar saknar självbeskrivande metadata eller behållarramning om de inte omsluts med zlib eller gzip.
Intressant teknisk kuriosa
- Phil Katz uppfann DEFLATE efter att Unisys stämde honom för den patenterade LZW-algoritm som användes i de tidiga PKARC-verktygen.
- Standardbyteföljderna i zlib-huvudet '78 9C' anger standardkomprimering, '78 01' låg komprimering och '78 DA' maximal komprimering.
- PNG använder DEFLATE för sin bilddataström, enligt PNG-formatets specifikation.
Vanliga tekniska frågor
Vad är skillnaden mellan DEFLATE, zlib och gzip?
DEFLATE är den råa komprimeringsalgoritmen (RFC 1951). Zlib kapslar in DEFLATE med en två byte lång rubrik och Adler-32-kontrollsumma (RFC 1950). Gzip kapslar in DEFLATE med filmetadata och en CRC-32-kontrollsumma (RFC 1952).
Varför använder PNG DEFLATE?
PNG-formatet skapades 1995 för att ersätta GIF utan att använda patenterade LZW-algoritmer, och valde den öppna, royaltyfria DEFLATE-algoritmen för komprimering.
Hur kan jag dekomprimera en rå .deflate-fil?
Du kan dekomprimera råa DEFLATE- eller zlib-byteströmmar till ursprungliga okomprimerade filer med File2File.app direkt i din webbläsare.
Relaterade konverteringspar för DEFLATE
Att konvertera en GZIP-ström till rå DEFLATE tar bort den yttre filomslutningen och huvudmetadatan, vilket enbart lämnar den komprimerade nyttolasten för specialiserade nätverksprotokoll och lågnivåarkiv.
Att konvertera rå DEFLATE till GZIP-ström kapslar in den komprimerade nyttolasten i en standardbehållare med metadatahuvuden så att operativsystem och webbverktyg kan läsa den korrekt.