Ruwe DEFLATE (.deflate)
IETF StandaardDEFLATE 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:
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-bytesASCII-WEERGAVE: Geen vaste ASCII-bestandshandtekening
Standaardisatie: IETF RFC 1951 / RFC 1950 (zlib)
Technische specificaties
| Containerarchitectuur | Onbewerkte RFC 1951-bitstream of in RFC 1950 zlib verpakte stroom met een header van 2 bytes en een Adler-32-controlesom |
| Compressie | LZ77-schuifvenster (venster tot 32 KB) gecombineerd met dynamische/statische Huffman-entropiecodering |
| Bytevolgorde (endianness) | Little-Endian-bitvolgorde |
| Kleurruimten | N.v.t. (datacompressiestream) |
| Kanalen en structuur | Onbewerkte binaire gegevensstroom of tekststroom |
| Maximale afmetingen | Onbegrensde streamlengte |
| Transparantie | 100% bit-exact verliesvrij databehoud |
| Streaming en progressief | Blokgebaseerde bitstream ondersteunt continue bytestreaming van willekeurige lengte |
Technische vergelijkingsmatrix: DEFLATE versus concurrenten
| Technisch kenmerk | DEFLATE (Huidig) | GZ | BROTLI | ZSTD |
|---|---|---|---|---|
| Standaardisatie | IETF RFC 1951 (onbewerkt) / RFC 1950 (zlib) | IETF RFC 1952 (Gzip) | IETF RFC 7932 (Brotli) | IETF RFC 8878 (Zstandard) |
| Schuifvenster | Maximaal 32 kilobyte | Maximaal 32 kilobyte | Tot 16 megabyte | Tot 2 gigabyte |
| Controlesommodus | Adler-32 (in zlib-wrapper) | CRC-32 (in gzip-wrapper) | Geen ingebouwde controlesom | xxHash64 (snelle 64-bits hashfunctie) |
| Alledaags gebruik | PNG-afbeeldingen, PDF-streams, ZIP | Unix .tar.gz, HTTP gzip | Weblettertypen (WOFF2), HTTP br | Linux-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
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.
Gerelateerde conversieparen voor DEFLATE
Bij conversie van een GZIP-stream naar raw DEFLATE worden de buitenste bestandsomhulling en de koptekstmetadata verwijderd. Alleen de gecomprimeerde gegevens blijven over, voor gebruik met gespecialiseerde netwerkprotocollen en archieven op laag niveau.
Bij het converteren van raw DEFLATE naar een GZIP-stream wordt de gecomprimeerde payload verpakt in een standaardcontainer met metadatakoppen, zodat besturingssystemen en webtools deze correct kunnen lezen.