Rå DEFLATE (.deflate)

IETF Standard

DEFLATE ä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:

Välj eller släpp filer här

Privat - filer lämnar aldrig din enhet

eller klistra in Ctrl+V
Integritetsgaranti utan nätverksöverföring: 0 byte laddades upp till externa servrar. All bearbetning skedde lokalt i webbläsarens sandlåda.

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

ContainerarkitekturRå bitström enligt RFC 1951 eller zlib-omsluten ström enligt RFC 1950 med två byte lång rubrik och Adler-32-kontrollsumma
KomprimeringLZ77 med glidande ordbok (fönster på upp till 32 KB) i kombination med dynamisk eller statisk Huffman-kodning
ByteordningLittle-endian-ordning för bitpackning
FärgrymderEj tillämpligt (datakomprimeringsström)
Kanaler och strukturRå binär- eller textdataström
Maximala dimensionerObegränsad strömlängd
Transparens100 % bitexakt, förlustfri återskapning av data
Strömning och progressiv visningBlockbaserad bitström som stöder kontinuerlig strömning av godtyckligt antal byte

Teknisk jämförelsematris: DEFLATE jämfört med konkurrenter

Tekniskt attributDEFLATE (Aktuell)GZBROTLIZSTD
StandardiseringIETF RFC 1951 (rå) / RFC 1950 (zlib)IETF RFC 1952 (Gzip)IETF RFC 7932 (Brotli)IETF RFC 8878 (Zstandard)
Glidande fönsterMaximalt 32 kilobyteMaximalt 32 kilobyteUpp till 16 megabyteUpp till 2 gigabyte
KontrollsummelägeAdler-32 (i zlib-omslutare)CRC-32 (i gzip-omslutare)Ingen inbyggd kontrollsumma i strömmenxxHash64 (snabb 64-bitars hash)
Daglig användningPNG-bilder, PDF-strömmar, ZIPUnix .tar.gz, HTTP gzipWebbteckensnitt (WOFF2), HTTP brLinux-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

1996Peter Deutsch formaliserar DEFLATE som IETF RFC 1951 och zlib som RFC 1950.
1995Jean-loup Gailly och Mark Adler släpper zlib.
1991Phil Katz uppfinner DEFLATE för PKZIP 2.0 för att ersätta äldre Implode- och Reduce-algoritmer.

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.