DEFLATE raw (.deflate)

IETF Standard

DEFLATE è l'algoritmo di compressione dati lossless più diffuso nella storia dell'informatica, alla base di archivi ZIP, stream GZIP, immagini PNG e compressione web HTTP da oltre tre decenni.

Converti da GZIP a DEFLATE

Convertitore gratuito da GZIP a DEFLATE nel browser. Converti i file istantaneamente sul tuo dispositivo.

Ispeziona e metadati

I sistemi operativi e gli analizzatori di file identificano i file DEFLATE ispezionando la sequenza di byte binari iniziale:

Seleziona o rilascia i file qui

Conversione 100% privata nel browser: i file non lasciano mai il tuo dispositivo

o incolla Ctrl+V
Garanzia di privacy con zero trasmissioni di rete: 0 byte caricati su server esterni. Tutta l'elaborazione è avvenuta localmente nella sandbox del tuo browser.

Firma dell'intestazione a livello di byte (Magic Bytes)

I sistemi operativi e gli analizzatori di file identificano i file DEFLATE ispezionando la sequenza di byte binari iniziale:

FIRMA ESADECIMALE (OFFSET 0):

78 9C / 78 01 / 78 DA

RAPPRESENTAZIONE ASCII: xœ / x. / xÚ

Standardizzazione: IETF RFC 1951 / RFC 1950 (zlib)

Specifiche tecniche

Architettura del containerBitstream grezzo RFC 1951 o stream con wrapper zlib RFC 1950 con intestazione di 2 byte e checksum Adler-32
CompressioneDizionario scorrevole LZ77 (finestra fino a 32 KB) combinato con codifica entropica di Huffman dinamica/statica
Endianness dei byteOrdine di impacchettamento dei bit Little-Endian
Spazi coloreN/A (Flusso di Compressione Dati)
Canali e strutturaFlusso di dati binari o di testo grezzi
Dimensioni massimeLunghezza dello stream illimitata
TrasparenzaRiproduzione dei dati lossless bit-esatta al 100%
Streaming e progressivoIl flusso di bit basato su blocchi supporta lo streaming continuo e arbitrario di byte

Matrice di confronto tecnico: DEFLATE vs Concorrenti

Attributo tecnicoDEFLATE (Corrente)GZBROTLIZSTD
StandardizzazioneIETF RFC 1951 (Grezzo) / RFC 1950 (zlib)IETF RFC 1952 (Gzip)IETF RFC 7932 (Brotli)IETF RFC 8878 (Zstandard)
Finestra ScorrevoleMassimo 32 KilobyteMassimo 32 KilobyteFino a 16 MegabyteFino a 2 Gigabyte
Modalità ChecksumAdler-32 (nel wrapper zlib)CRC-32 (nel wrapper gzip)Nessuno integrato nello streamxxHash64 (hash rapido a 64-bit)
Utilizzo QuotidianoImmagini PNG, flussi PDF, ZIPUnix .tar.gz, HTTP gzipFont web (WOFF2), HTTP brKernel Linux, database, videogiochi

Modalità di corruzione comuni e guida al recupero Hex

La decompressione fallisce con 'Z_DATA_ERROR: incorrect data check'.

Causa principale: Discrepanza nel checksum Adler-32 a 4 byte alla fine dello stream con wrapper zlib.

Ripristino: Bypassare la verifica Adler-32 utilizzando l'inflate grezzo o riparare con il recupero Deflate di File2File.

Analisi di sicurezza e vettori di attacco del parser

I parser DEFLATE devono convalidare rigorosamente i codici di costruzione dell'albero di Huffman per prevenire scritture di puntatori fuori dai limiti.

Vettori di attacco noti

  • Tabelle di lunghezza dei bit dell'albero di Huffman dinamico incomplete o sovrascritte che causano letture di memoria non valide.
  • Bomba di decompressione (zip bomb) che espande payload minuscoli in centinaia di gigabyte di RAM.
  • Sovrallettura del buffer (buffer over-read) durante l'analisi di codici di distanza della finestra scorrevole non validati.

Migliori pratiche difensive: Applicare l'allocazione di memoria massima limitata e limiti rigorosi sul rapporto di espansione durante la decompressione.

Origini storiche e tappe fondamentali

1996Peter Deutsch formalizza DEFLATE come IETF RFC 1951 e zlib come RFC 1950.
1995Jean-loup Gailly e Mark Adler rilasciano zlib, la libreria di riferimento universale in C per DEFLATE.
1991Phil Katz inventa DEFLATE per PKZIP 2.0 per sostituire i precedenti algoritmi Implode e Reduce.

Vantaggi principali e pro

  • Lo standard globale indiscusso: implementato in hardware, sistemi operativi e in ogni runtime di programmazione.
  • Design privo di brevetti e royalty che garantisce un accesso aperto in tutto il settore informatico.
  • Decompressione rapida con un impatto minimo sulla memoria (richiede solo 32 KB di memoria per la finestra scorrevole).

Limiti tecnici e svantaggi

  • Finestra scorrevole limitata a 32 KB, che riduce l'efficacia della compressione su file di grandi dimensioni con ridondanze distanti.
  • Rapporti di compressione inferiori sulle risorse web moderne rispetto ad algoritmi più recenti come Brotli e Zstandard.
  • I flussi DEFLATE grezzi mancano di metadati descrittivi o di incapsulamento nel contenitore senza i wrapper zlib o gzip.

Curiosità tecniche interessanti

  • Phil Katz inventò DEFLATE dopo essere stato citato in giudizio da Unisys per l'algoritmo brevettato LZW utilizzato nelle prime utilità PKARC.
  • I byte di intestazione standard zlib '78 9C' indicano la compressione predefinita, '78 01' la compressione bassa e '78 DA' la compressione massima.
  • Ogni immagine PNG sulla Terra utilizza DEFLATE per comprimere i suoi blocchi di pixel IDAT.

Domande tecniche frequenti

Qual è la differenza tra DEFLATE, zlib e gzip?

DEFLATE è l'algoritmo di compressione grezzo (RFC 1951). Zlib racchiude DEFLATE con un'intestazione di 2 byte e un checksum Adler-32 (RFC 1950). Gzip racchiude DEFLATE con metadati del file e un checksum CRC-32 (RFC 1952).

Perché PNG utilizza DEFLATE?

Il formato PNG è stato creato nel 1995 per sostituire GIF senza utilizzare algoritmi LZW brevettati, scegliendo DEFLATE che è aperto e privo di royalty per la compressione.

Come posso decomprimere un file .deflate grezzo?

Puoi decomprimere flussi di byte DEFLATE grezzi o zlib nei file originali non compressi utilizzando File2File.app direttamente nel tuo browser web.