Rå DEFLATE (.deflate)
IETF StandardDEFLATE er den utbredt tapsfrie datakomprimeringsalgoritmen i datateknologiens historie, og driver ZIP-arkiver, GZIP-strømmer, PNG-bilder og HTTP-nettkomprimering i over tre tiår.
Konverter GZIP til DEFLATE
Gratis GZIP til DEFLATE-konverterer i nettleseren. Konverter filer umiddelbart på enheten din.
Inspeksjon og metadata
Operativsystemer og filanalysatorer identifiserer DEFLATE-filer ved å undersøke den innledende binære bytesekvensen:
Filsignatur på bytenivå (magiske byte)
Operativsystemer og filanalysatorer identifiserer DEFLATE-filer ved å undersøke den innledende binære bytesekvensen:
HEX-SIGNATUR (OFFSET 0):
Rå DEFLATE har ingen fast signatur; zlib-innpakkede strømmer begynner med variable CMF/FLG-byteASCII-REPRESENTASJON: Ingen fast signatur
Standardisering: IETF RFC 1951 / RFC 1950 (zlib)
Tekniske spesifikasjoner
| Beholderarkitektur | Rå RFC 1951-bitstrøm eller strøm pakket inn i zlib-format (RFC 1950) med et 2-byte-hode og Adler-32-sjekksum |
| Komprimering | LZ77-glidende ordbok (vindu på opptil 32 KB) kombinert med dynamisk eller statisk Huffman-entropikoding |
| Bytterekkefølge | Little-endian-bitpakking |
| Fargerom | Ikke relevant (datakomprimeringsstrøm) |
| Kanaler og struktur | Rå binær- eller tekststrøm |
| Maks. dimensjoner | Ubegrenset strømlengde |
| Gjennomsiktighet | Tapsfri gjengivelse med nøyaktig samsvar på bitnivå |
| Strømming og progressiv visning | Blokkbasert bitstrøm støtter kontinuerlig strømming av byte i vilkårlig lengde |
Teknisk sammenligningsmatrise: DEFLATE sammenlignet med konkurrenter
| Teknisk attributt | DEFLATE (Gjeldende) | GZ | BROTLI | ZSTD |
|---|---|---|---|---|
| Standardisering | IETF RFC 1951 (rå) / RFC 1950 (zlib) | IETF RFC 1952 (Gzip) | IETF RFC 7932 (Brotli) | IETF RFC 8878 (Zstandard) |
| Skyvevindu | Maks. 32 kilobyte | Maks. 32 kilobyte | Opptil 16 megabyte | Opptil 2 gigabyte |
| Sjekksummodus | Adler-32 (i zlib-omslag) | CRC-32 (i gzip-omslag) | Ingen innebygd i strømmen | xxHash64 (64-bits rask hashfunksjon) |
| Hverdagsbruk | PNG-bilder, PDF-strømmer, ZIP | Unix .tar.gz, HTTP gzip | Webfonter (WOFF2), HTTP br | Linux-kjerne, databaser, spill |
Vanlige korrupsjonsmoduser og heksadesimal gjenopprettingsveiledning
Dekompresjonen mislykkes med 'Z_DATA_ERROR: incorrect data check'.
Underliggende årsak: Avvik i den 4 byte lange Adler-32-sjekksummen på slutten av den zlib-innpakkede strømmen.
Utbedring: Omgå Adler-32-verifiseringen ved å bruke rå inflate, eller reparer med File2File.app Deflate Recovery.
Sikkerhetsanalyse og angrepsvektorer mot parsere
DEFLATE-tolkere må validere Huffman-trekonstruksjonskodene grundig for å hindre skriving via pekere utenfor gyldige minneområder.
Kjente angrepsvektorer
- Ufullstendige eller overfylte dynamiske bitlengdetabeller for Huffman-trær som fører til ugyldige minneavlesninger.
- Dekompresjonsbombe (zip-bombe) som utvider små datamengder til hundrevis av gigabyte RAM.
- Buffer-overlesing i ugyldige avstandskoder for skyvevinduet.
Anbefalte sikkerhetstiltak: Håndhev begrenset maksimal minneallokering og ekspansjonsforholdstak under dekomprimering.
Historisk opprinnelse og milepæler
Viktige fordeler
- DEFLATE er implementert i mange programvarebiblioteker og filformater, men tilgjengelig støtte avhenger av kjøremiljøet og programmet.
- DEFLATE-spesifikasjonen kan implementeres fritt; lisensiering og støtte avhenger av den enkelte programvareimplementasjonen.
- Rask dekomprimering med minimalt minneavtrykk (krever bare 32 KB minne til skyvevinduet).
Tekniske begrensninger og ulemper
- Skyvevinduet er begrenset til 32 KB, noe som reduserer komprimeringseffektiviteten for store filer med redundans langt fra hverandre.
- Lavere komprimeringsgrad for moderne nettinnhold sammenlignet med nyere algoritmer som Brotli og Zstandard.
- Rå DEFLATE-strømmer mangler selvbeskrivende metadata eller innramming uten zlib- eller gzip-innpakning.
Interessante tekniske fakta
- Phil Katz fant opp DEFLATE etter å ha blitt saksøkt av Unisys for den patenterte LZW-algoritmen som ble brukt i tidlige PKARC-verktøy.
- Standardbytefølgen i zlib-toppteksten «78 9C» indikerer standard komprimering, «78 01» lav komprimering og «78 DA» maksimal komprimering.
- Hvert eneste PNG-bilde på jorden bruker DEFLATE til å komprimere pikseldataene i IDAT-delene.
Ofte stilte tekniske spørsmål
Hva er forskjellen mellom DEFLATE, zlib og gzip?
DEFLATE er den rå komprimeringsalgoritmen (RFC 1951). Zlib pakker inn DEFLATE med et 2-byte-hode og en Adler-32-sjekksum (RFC 1950). Gzip pakker inn DEFLATE med filmetadata og en CRC-32-sjekksum (RFC 1952).
Hvorfor bruker PNG DEFLATE?
PNG-formatet ble opprettet i 1995 for å erstatte GIF uten å bruke patenterte LZW-algoritmer, og valgte DEFLATE som en åpen og royaltyfri komprimeringsmetode.
Hvordan kan jeg dekomprimere en rå .deflate-fil?
Du kan bruke File2File.app direkte i nettleseren til å dekomprimere rå DEFLATE- eller zlib-bytestrømmer til de opprinnelige, ukomprimerte filene.
Relaterte konverteringspar for DEFLATE
Konvertering av en GZIP-strøm til rå DEFLATE fjerner den ytre filbeholderen og overskriftsmetadataene, og etterlater bare den komprimerte nyttelasten for spesialiserte nettverksprotokoller og lavnivåarkiver.
Konvertering av rå DEFLATE til GZIP-strøm pakker inn den komprimerte nyttelasten inne i en standard beholder med metadatahoder slik at operativsystemer og webverktøy kan lese den riktig.