Rå DEFLATE (.deflate)
IETF StandardDEFLATE er den udbredt tabsfri datakomprimeringsalgoritme i computerhistorien og driver ZIP-arkiver, GZIP-strømme, PNG-billeder og HTTP-webkomprimering i over tre årtier.
Konverter GZIP til DEFLATE
Gratis GZIP til DEFLATE-konverter i browseren. Konverter filer med det samme på din enhed.
Undersøgelse og metadata
Operativsystemer og filanalysatorer identificerer DEFLATE-filer ved at inspicere den indledende binære bytesekvens:
Byte-niveau Header-signatur (Magic Bytes)
Operativsystemer og filanalysatorer identificerer DEFLATE-filer ved at inspicere den indledende binære bytesekvens:
HEX-SIGNATUR (OFFSET 0):
Raw DEFLATE har ingen fast signatur; zlib-indpakkede strømme begynder med variable CMF/FLG-bytes.ASCII-REPRÆSENTATION: Ingen fast signatur
Standardisering: IETF RFC 1951 / RFC 1950 (zlib)
Tekniske specifikationer
| Containerarkitektur | Rå RFC 1951-bitstrøm eller RFC 1950 zlib-indpakket strøm med 2-byte-header og Adler-32-kontrolsum |
| Komprimering | LZ77-glidende ordbog (vindue på op til 32 KB) kombineret med dynamisk/statisk Huffman-entropikodning |
| Byte-rækkefølge | Little-Endian-bitpakningsrækkefølge |
| Farverum | Ikke relevant (datakomprimeringsstrøm) |
| Kanaler og struktur | Rå binær- eller tekststrøm |
| Maks. dimensioner | Ubegrænset strømlængde |
| Gennemsigtighed | 100 % bitnøjagtig tabsfri gengivelse af data |
| Streaming og progressiv | Blokbaseret bitstrøm understøtter vilkårlig kontinuerlig streaming af bytes |
Teknisk sammenligningsmatrix: DEFLATE sammenlignet med konkurrenterne
| Teknisk attribut | DEFLATE (Aktuel) | GZ | BROTLI | ZSTD |
|---|---|---|---|---|
| Standardisering | IETF RFC 1951 (rå) / RFC 1950 (zlib) | IETF RFC 1952 (Gzip) | IETF RFC 7932 (Brotli) | IETF RFC 8878 (Zstandard) |
| Glidende vindue | Maks. 32 kilobyte | Maks. 32 kilobyte | Op til 16 megabyte | Op til 2 gigabyte |
| Tjeksumstilstand | Adler-32 (i zlib-omslag) | CRC-32 (i gzip-omslag) | Ingen indbygget kontrol i strømmen | xxHash64 (hurtig 64-bit-hash) |
| Hverdagsbrug | PNG-billeder, PDF-strømme, ZIP | Unix .tar.gz, HTTP gzip | Webskrifttyper (WOFF2), HTTP br | Linux-kerne, databaser, spil |
Almindelige korruptionstilstande og hex-gendannelsesvejledning
Dekomprimering mislykkes med 'Z_DATA_ERROR: incorrect data check'.
Grundlæggende årsag: Uoverensstemmelse i 4-byte Adler-32-tjeksummen i slutningen af den zlib-indpakkede strøm.
Gendannelse: Omgå Adler-32-verificering ved hjælp af rå inflate eller reparer med File2File.app Deflate Recovery.
Sikkerhedsanalyse og parser-angrebsvektorer
DEFLATE-parsere skal kontrollere Huffman-træets koder ved opbygningen grundigt for at forhindre pointere i at skrive uden for hukommelsesgrænserne.
Kendte angrebsvektorer
- Ufuldstændige eller overfyldte dynamiske Huffman-træers bit-længdetabeller, der forårsager ugyldige hukommelseslæsninger.
- Dekomprimeringsbombe (zip-bombe), der udvider bittesmå nyttelaster til hundreder af gigabyte RAM.
- Bufferoverlæsning via ikke-validerede afstandskoder i det glidende vindue.
Defensive bedste praksisser: Fastlæg en øvre grænse for hukommelsesallokering og en grænse for udvidelsesforholdet under dekomprimering.
Historisk oprindelse og milepæle
Vigtige fordele og styrker
- DEFLATE er udbredt i softwarebiblioteker og filformater, men understøttelsen afhænger af kørselsmiljøet og programmet.
- DEFLATE-specifikationen kan implementeres frit; licens og understøttelse afhænger af den konkrete softwareimplementering.
- Hurtig dekomprimering med minimalt hukommelsesforbrug (kræver kun 32 KB hukommelse til et glidende vindue).
Tekniske begrænsninger og ulemper
- Glidende vindue begrænset til 32 KB, hvilket reducerer komprimeringseffektiviteten på store filer med gentagelser langt fra hinanden.
- Lavere komprimeringsforhold på moderne webressourcer sammenlignet med nyere algoritmer som Brotli og Zstandard.
- Rå DEFLATE-strømme mangler selvbeskrivende metadata og containerindpakning, som zlib- og gzip-wrappere tilføjer.
Interessante tekniske fakta
- Phil Katz opfandt DEFLATE efter at være blevet sagsøgt af Unisys over den patenterede LZW-algoritme, der blev brugt i tidlige PKARC-værktøjer.
- Standardbytes i zlib-headeren '78 9C' angiver standardkomprimering, '78 01' lav komprimering og '78 DA' maksimal komprimering.
- PNG-formatet bruger DEFLATE til billeddataene.
Ofte stillede tekniske spørgsmål
Hvad er forskellen mellem DEFLATE, zlib og gzip?
DEFLATE er selve den rå komprimeringsalgoritme (RFC 1951). Zlib indpakker DEFLATE med en 2-byte-header og en Adler-32-checksum (RFC 1950). Gzip indpakker DEFLATE med filmetadata og en CRC-32-checksum (RFC 1952).
Hvorfor bruger PNG DEFLATE?
PNG-formatet blev oprettet i 1995 for at erstatte GIF uden at bruge patenterede LZW-algoritmer, idet man valgte det åbne og uden royalties DEFLATE til komprimering.
Hvordan kan jeg dekomprimere en rå .deflate-fil?
Du kan dekomprimere rå DEFLATE- eller zlib-bytestrømme til originale ukomprimerede filer ved hjælp af File2File.app direkte i din webbrowser.
Relaterede konverteringspar for DEFLATE
Konvertering af en GZIP-strøm til rå DEFLATE fjerner den ydre filindpakning og overskriftsmetadata, så kun den komprimerede nyttelast er tilbage til specialiserede netværksprotokoller og lavniveau-arkiver.
Konvertering af rå DEFLATE til GZIP-strøm indpakker den komprimerede nyttelast i en standardbeholder med metatadahoveder, så operativsystemer og webværktøjer kan læse den korrekt.