Rå DEFLATE (.deflate)

IETF Standard

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

Vælg eller træk filer hertil

Privat - filer forlader aldrig din enhed

eller indsæt Ctrl+V
Privatlivsgaranti uden netværksoverførsel: 0 byte overført til eksterne servere. Al behandling foregik lokalt i browserens sandkasse.

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

ContainerarkitekturRå RFC 1951-bitstrøm eller RFC 1950 zlib-indpakket strøm med 2-byte-header og Adler-32-kontrolsum
KomprimeringLZ77-glidende ordbog (vindue på op til 32 KB) kombineret med dynamisk/statisk Huffman-entropikodning
Byte-rækkefølgeLittle-Endian-bitpakningsrækkefølge
FarverumIkke relevant (datakomprimeringsstrøm)
Kanaler og strukturRå binær- eller tekststrøm
Maks. dimensionerUbegrænset strømlængde
Gennemsigtighed100 % bitnøjagtig tabsfri gengivelse af data
Streaming og progressivBlokbaseret bitstrøm understøtter vilkårlig kontinuerlig streaming af bytes

Teknisk sammenligningsmatrix: DEFLATE sammenlignet med konkurrenterne

Teknisk attributDEFLATE (Aktuel)GZBROTLIZSTD
StandardiseringIETF RFC 1951 (rå) / RFC 1950 (zlib)IETF RFC 1952 (Gzip)IETF RFC 7932 (Brotli)IETF RFC 8878 (Zstandard)
Glidende vindueMaks. 32 kilobyteMaks. 32 kilobyteOp til 16 megabyteOp til 2 gigabyte
TjeksumstilstandAdler-32 (i zlib-omslag)CRC-32 (i gzip-omslag)Ingen indbygget kontrol i strømmenxxHash64 (hurtig 64-bit-hash)
HverdagsbrugPNG-billeder, PDF-strømme, ZIPUnix .tar.gz, HTTP gzipWebskrifttyper (WOFF2), HTTP brLinux-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

1996Peter Deutsch formaliserer DEFLATE som IETF RFC 1951 og zlib som RFC 1950.
1995Jean-loup Gailly og Mark Adler udgiver zlib.
1991Phil Katz opfinder DEFLATE til PKZIP 2.0 som erstatning for ældre Implode- og Reduce-algoritmer.

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.