Raaka DEFLATE (.deflate)

IETF Standardi

DEFLATE on tietojenkäsittelyhistorian kaikkialla läsnä olevin häviötön tietojen pakkausalgoritmi, joka on pyörittänyt ZIP-arkistoja, GZIP-virtoja, PNG-kuvia ja HTTP-verkkopakkausta yli kolmen vuosikymmenen ajan.

Muunna tiedostot muodosta GZIP muotoon DEFLATE

Ilmainen selaimen sisäinen GZIP - DEFLATE-muunnin. Muunna tiedostoja välittömästi laitteellasi.

Tarkastele ja metatiedot

Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat DEFLATE-tiedostot tarkistamalla tiedoston alun binäärisarjan:

Valitse tai pudota tiedostot tähän

100 % yksityinen selaimen sisäinen muunnos - tiedostot eivät poistu laitteeltasi

tai liitä Ctrl+V
Tietosuojatakuu: 0 % verkkosiirtoa 0 tavua ladattu ulkoisille palvelimille. Kaikki käsittely tapahtui paikallisesti selaimen hiekkalaatikossa.

Tavutason otsikon allekirjoitus (Magic Bytes)

Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat DEFLATE-tiedostot tarkistamalla tiedoston alun binäärisarjan:

HEX-ALLEKIRJOITUS (OFFSET 0):

78 9C / 78 01 / 78 DA

ASCII-ESITYSTAPA: xœ / x. / xÚ

Standardointi: IETF RFC 1951 / RFC 1950 (zlib)

Tekniset tiedot

SäiliöarkkitehtuuriRaw RFC 1951 bitstream or RFC 1950 zlib-wrapped stream with 2-byte header and Adler-32 checksum
PakkausLZ77 sliding dictionary (up to 32 KB window) combined with dynamic/static Huffman entropy coding
Tavujärjestys (Endianness)Little-Endian bit-packing order
VäriavaruudetN/A (Data Compression Stream)
Kanavat ja rakenneRaw binary or text data stream
Suurimmat mitatUnbounded stream length
Läpinäkyvyys100% bit-exact lossless data reproduction
Suoratoisto ja progressiivinen latausBlock-based bitstream supports arbitrary continuous byte streaming

Tekninen vertailumatriisi: DEFLATE vs. kilpailijat

Tekninen attribuuttiDEFLATE (Nykyinen)GZBROTLIZSTD
StandardointiIETF RFC 1951 (Raaka) / RFC 1950 (zlib)IETF RFC 1952 (Gzip)IETF RFC 7932 (Brotli)IETF RFC 8878 (Zstandard)
Liukuva ikkunaEnintään 32 kilotavuaEnintään 32 kilotavuaJopa 16 megatavuaJopa 2 gigatavua
TarkistussummatilaAdler-32 (zlib-kääreessä)CRC-32 (gzip-kääreessä)Ei sisäistä virtaaxxHash64 (nopea 64-bittinen hajautus)
Jokapäiväinen käyttöPNG-kuvat, PDF-virrat, ZIPUnix .tar.gz, HTTP gzipVerkkofontit (WOFF2), HTTP brLinux-ydin, tietokannat, pelit

Yleiset korruptiotilat ja heksatietojehdotusopas

Purkaminen epäonnistuu virheilmoitukseen 'Z_DATA_ERROR: incorrect data check'.

Perussyy: Epäsuhta zlib-käärityn virran lopussa olevassa 4-tavuisessa Adler-32-tarkistussummassa.

Korjaus: Ohita Adler-32-varmennus käyttämällä raakaa purkua tai korjaa File2File Deflate Recovery -työkalulla.

Turvallisuusanalyysi ja jäsenninhyökkäysvektorit

DEFLATE-jäsenninten on valvottava tarkasti Huffman-puun rakennuskoodeja puskurin ulkopuolisten osoitinkirjoitusten estämiseksi.

Tunnetut hyökkäysvektorit

  • Puutteelliset tai ylimerkityt dynaamiset Huffman-puun bittipituustaulukot aiheuttavat virheellisiä muistin lukuja.
  • Purkupommi (zip-pommi), joka laajentaa pienet hyötykuormat sadoiksi gigatavuiksi RAM-muistia.
  • Puskurin yliluku validoimattomissa liukuvan ikkunan etäisyyskoodeissa.

Parhaat puolustuskäytännöt:

Historia ja virstanpylväät

1996Peter Deutsch virallistaa DEFLATE-algoritmin IETF RFC 1951 -standardiksi ja zlibin RFC 1950 -standardiksi.
1995Jean-loup Gailly ja Mark Adler julkaisevat zlibin, joka on DEFLATE-algoritmin yleinen C-viitekirjasto.
1991Phil Katz keksii DEFLATE-algoritmin PKZIP 2.0:lle korvaamaan vanhemmat Implode- ja Reduce-algoritmit.

Tärkeimmät edut

  • Kiistaton globaali standardi: toteutettu laitteistossa, käyttöjärjestelmissä ja kaikissa ohjelmointiajoaikaympäristöissä.
  • Patentti- ja rojaltivapaa suunnittelu takaa avoimen pääsyn koko IT-alalla.
  • Nopea purku minimaalisella muistijalanjäljellä (vaatii vain 32 kt liukuvan ikkunan muistia).

Tekniset rajoitukset

  • Liukuva ikkona rajoitettu 32 kilotavuun, mikä heikentää pakkaustehokkuutta suurissa tiedostoissa, joissa on kaukaisia toistoja.
  • Alhaisemmat pakkaussuhteet nykyaikaisilla verkkoresursseilla verrattuna uudempiin algoritmeihin, kuten Brotliin ja Zstandardiin.
  • Raaoista DEFLATE-virroista puuttuu itsekuvaileva metatieto tai säilökehys ilman zlib- tai gzip-kääreitä.

Mielenkiintoisia teknisiä faktoja

  • Phil Katz keksi DEFLATE-algoritmin sen jälkeen, kun Unisys haastoi hänet oikeuteen varhaisissa PKARC-työkaluissa käytetystä patentoidusta LZW-algoritmista.
  • Standardit zlib-otsikkotavut '78 9C' osoittavat oletuspakkauksen, '78 01' alhaisen pakkauksen ja '78 DA' maksimipakkauksen.
  • Jokainen maapallon PNG-kuva käyttää DEFLATE-algoritmia IDAT-pikselilohkojen pakkaamiseen.

Usein kysytyt tekniset kysymykset

Mitä eroa on DEFLATE-, zlib- ja gzip-muodoilla?

DEFLATE on raaka pakkausalgoritmi (RFC 1951). Zlib käärii DEFLATE:n 2 tavun otsakkeella ja Adler-32-tarkistussummalla (RFC 1950). Gzip käärii DEFLATE:n tiedoston metatiedoilla ja CRC-32-tarkistussummalla (RFC 1952).

Miksi PNG käyttää DEFLATE-pakkausta?

PNG-muoto luotiin vuonna 1995 korvaamaan GIF ilman patentoituja LZW-algoritmeja, ja se valitsi pakkauksekseen avoimen ja rojaltivapaan DEFLATE-algoritmin.

Miten voin purkaa raa'an .deflate-tiedoston?

Voit purkaa raakaluontoisia DEFLATE- tai zlib-tavuvirtoja alkuperäisiksi pakkaamattomiksi tiedostoiksi File2File.app-palvelun avulla suoraan verkkoselaimessasi.