Ruwe DEFLATE (.deflate)

IETF Standaard

DEFLATE is een veelgebruikt algoritme voor verliesvrije datacompressie. Het vormt de basis voor ZIP-archieven, GZIP-streams, PNG-afbeeldingen en HTTP-compressie.

GZIP naar DEFLATE converteren

Gratis GZIP-naar-DEFLATE-converter in uw browser. Converteer bestanden direct op uw apparaat.

Inspecteren en metadata

Besturingssystemen en bestandsanalysators herkennen DEFLATE-bestanden aan de hand van de eerste binaire bytesequentie:

Selecteer of sleep bestanden hierheen

Privé - bestanden verlaten uw apparaat niet

of plak Ctrl+V
Privacygarantie zonder netwerktransmissie: 0 bytes geüpload naar externe servers. Alle verwerking vond lokaal plaats in uw browser-sandbox.

Bestandshandtekening op byteniveau (magic bytes)

Besturingssystemen en bestandsanalysators herkennen DEFLATE-bestanden aan de hand van de eerste binaire bytesequentie:

HEX-HANDTEKENING (OFFSET 0):

Geen vaste bestandshandtekening (magic bytes) voor onbewerkte DEFLATE; in zlib verpakte stromen beginnen met variabele CMF/FLG-bytes

ASCII-WEERGAVE: Geen vaste ASCII-bestandshandtekening

Standaardisatie: IETF RFC 1951 / RFC 1950 (zlib)

Technische specificaties

ContainerarchitectuurOnbewerkte RFC 1951-bitstream of in RFC 1950 zlib verpakte stroom met een header van 2 bytes en een Adler-32-controlesom
CompressieLZ77-schuifvenster (venster tot 32 KB) gecombineerd met dynamische/statische Huffman-entropiecodering
Bytevolgorde (endianness)Little-Endian-bitvolgorde
KleurruimtenN.v.t. (datacompressiestream)
Kanalen en structuurOnbewerkte binaire gegevensstroom of tekststroom
Maximale afmetingenOnbegrensde streamlengte
Transparantie100% bit-exact verliesvrij databehoud
Streaming en progressiefBlokgebaseerde bitstream ondersteunt continue bytestreaming van willekeurige lengte

Technische vergelijkingsmatrix: DEFLATE versus concurrenten

Technisch kenmerkDEFLATE (Huidig)GZBROTLIZSTD
StandaardisatieIETF RFC 1951 (onbewerkt) / RFC 1950 (zlib)IETF RFC 1952 (Gzip)IETF RFC 7932 (Brotli)IETF RFC 8878 (Zstandard)
SchuifvensterMaximaal 32 kilobyteMaximaal 32 kilobyteTot 16 megabyteTot 2 gigabyte
ControlesommodusAdler-32 (in zlib-wrapper)CRC-32 (in gzip-wrapper)Geen ingebouwde controlesomxxHash64 (snelle 64-bits hashfunctie)
Alledaags gebruikPNG-afbeeldingen, PDF-streams, ZIPUnix .tar.gz, HTTP gzipWeblettertypen (WOFF2), HTTP brLinux-kernel, databases, gaming

Veelvoorkomende beschadigingen en gids voor hex-herstel

Decompressie mislukt met 'Z_DATA_ERROR: incorrect data check'.

Oorzaak: De Adler-32-controlesom van 4 bytes aan het einde van de in zlib verpakte stroom komt niet overeen.

Herstel: Sla de Adler-32-controle over met raw inflate of herstel het bestand met Deflate Recovery van File2File.app.

Beveiligingsanalyse en aanvalsvectoren voor parsers

DEFLATE-parsers moeten de constructiecodes van Huffman-bomen strikt valideren om out-of-bounds-schrijfbewerkingen via pointers te voorkomen.

Bekende aanvalsvectoren

  • Onvolledige of overvolle bitlengtetabellen van dynamische Huffman-bomen veroorzaken ongeldige leesbewerkingen in het geheugen.
  • Decompressiebom (zip bomb) die kleine payloads uitbreidt tot honderden gigabytes aan RAM.
  • Bufferoverread bij niet-gevalideerde afstandscodes van het schuifvenster.

Aanbevolen beveiligingspraktijken: Handhaaf begrensde maximale geheugentoewijzing en limieten voor de expansieverhouding tijdens decompressie.

Historische oorsprong en mijlpalen

1996Peter Deutsch formaliseert DEFLATE als IETF RFC 1951 en zlib als RFC 1950.
1995Jean-loup Gailly en Mark Adler brengen zlib uit, een veelgebruikte C-bibliotheek voor DEFLATE.
1991Phil Katz vindt DEFLATE uit voor PKZIP 2.0 ter vervanging van oudere Implode- en Reduce-algoritmen.

Belangrijkste voordelen

  • DEFLATE is breed geïmplementeerd in softwarebibliotheken en bestandsformaten, hoewel de beschikbare ondersteuning afhangt van de runtime en toepassing.
  • De DEFLATE-specificatie is vrij te implementeren; licenties en ondersteuning zijn afhankelijk van de specifieke software-implementatie.
  • Snelle decompressie met minimale geheugenbelasting (vereist slechts 32 KB geheugen voor het schuifvenster).

Technische beperkingen

  • Schuifvenster beperkt tot 32 KB, waardoor de compressie-effectiviteit afneemt bij grote bestanden met ver verwijderde redundanties.
  • Lagere compressieverhoudingen op moderne webassets in vergelijking met nieuwere algoritmen zoals Brotli en Zstandard.
  • Onbewerkte DEFLATE-streams missen zelfbeschrijvende metadata of containerframing zonder zlib- of gzip-wrappers.

Interessante technische weetjes

  • Phil Katz vond DEFLATE uit nadat hij door Unisys werd aangeklaagd wegens het gepatenteerde LZW-algoritme dat werd gebruikt in vroege PKARC-tools.
  • De standaard zlib-headerbytes '78 9C' duiden op standaardcompressie, '78 01' op lage compressie en '78 DA' op maximale compressie.
  • PNG gebruikt DEFLATE voor zijn afbeeldingsdatastream, zoals voorgeschreven door het PNG-formaat.

Veelgestelde technische vragen

Wat is het verschil tussen DEFLATE, zlib en gzip?

DEFLATE is het onbewerkte compressie-algoritme (RFC 1951). Zlib verpakt DEFLATE met een header van 2 bytes en een Adler-32-controlesom (RFC 1950). Gzip verpakt DEFLATE met bestandsmetadata en een CRC-32-controlesom (RFC 1952).

Waarom gebruikt PNG DEFLATE?

Het PNG-formaat is in 1995 gemaakt ter vervanging van GIF, zonder gepatenteerde LZW-algoritmen te gebruiken. Daarom is gekozen voor het open, royaltyvrije DEFLATE-algoritme voor compressie.

Hoe kan ik een onbewerkt .deflate-bestand decomprimeren?

U kunt onbewerkte DEFLATE- of zlib-bytestromen met File2File.app rechtstreeks in uw webbrowser decomprimeren tot de oorspronkelijke, niet-gecomprimeerde bestanden.