DEFLATE raw (.deflate)

IETF Standard

DEFLATE è uno degli algoritmi di compressione senza perdita più diffusi nella storia dell’informatica. È alla base degli archivi ZIP, dei flussi GZIP, delle immagini PNG e della compressione HTTP sul web da oltre trent’anni.

Converti da GZIP a DEFLATE

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

Ispezione 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

Privato - 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):

DEFLATE grezzo non ha una firma fissa; i flussi con wrapper zlib iniziano con byte CMF/FLG variabili

RAPPRESENTAZIONE ASCII: Nessuna firma fissa

Standardizzazione: IETF RFC 1951 / RFC 1950 (zlib)

Specifiche tecniche

Architettura del contenitoreFlusso di bit RFC 1951 grezzo o flusso 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 del flusso illimitata
TrasparenzaConservazione dei dati senza perdita, identica bit per bit
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 (Attuale)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)Nessun checksum integrato nel flussoxxHash64 (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 esadecimale

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.app.

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 delle lunghezze in bit dell'albero di Huffman dinamico incomplete o con un numero eccessivo di codici, che causano letture di memoria non valide.
  • Bomba di decompressione che espande payload minuscoli fino a centinaia di gigabyte di memoria RAM.
  • Sovrallettura del buffer (buffer over-read) durante l'analisi di codici di distanza della finestra scorrevole non validati.

Migliori pratiche difensive: Imporre limiti rigorosi alla quantità massima di memoria allocata e al 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.
1991Phil Katz inventa DEFLATE per PKZIP 2.0 per sostituire i precedenti algoritmi Implode e Reduce.

Vantaggi principali

  • Lo standard globale indiscusso: implementato in hardware, sistemi operativi e in ogni runtime di programmazione.
  • Progettazione senza brevetti né royalty, che garantisce libero accesso 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

  • 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, aperto e senza 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.