DEFLATE raw (.deflate)
IETF StandardDEFLATE è 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:
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 DARAPPRESENTAZIONE ASCII: xœ / x. / xÚ
Standardizzazione: IETF RFC 1951 / RFC 1950 (zlib)
Specifiche tecniche
| Architettura del container | Bitstream grezzo RFC 1951 o stream con wrapper zlib RFC 1950 con intestazione di 2 byte e checksum Adler-32 |
| Compressione | Dizionario scorrevole LZ77 (finestra fino a 32 KB) combinato con codifica entropica di Huffman dinamica/statica |
| Endianness dei byte | Ordine di impacchettamento dei bit Little-Endian |
| Spazi colore | N/A (Flusso di Compressione Dati) |
| Canali e struttura | Flusso di dati binari o di testo grezzi |
| Dimensioni massime | Lunghezza dello stream illimitata |
| Trasparenza | Riproduzione dei dati lossless bit-esatta al 100% |
| Streaming e progressivo | Il flusso di bit basato su blocchi supporta lo streaming continuo e arbitrario di byte |
Matrice di confronto tecnico: DEFLATE vs Concorrenti
| Attributo tecnico | DEFLATE (Corrente) | GZ | BROTLI | ZSTD |
|---|---|---|---|---|
| Standardizzazione | IETF RFC 1951 (Grezzo) / RFC 1950 (zlib) | IETF RFC 1952 (Gzip) | IETF RFC 7932 (Brotli) | IETF RFC 8878 (Zstandard) |
| Finestra Scorrevole | Massimo 32 Kilobyte | Massimo 32 Kilobyte | Fino a 16 Megabyte | Fino a 2 Gigabyte |
| Modalità Checksum | Adler-32 (nel wrapper zlib) | CRC-32 (nel wrapper gzip) | Nessuno integrato nello stream | xxHash64 (hash rapido a 64-bit) |
| Utilizzo Quotidiano | Immagini PNG, flussi PDF, ZIP | Unix .tar.gz, HTTP gzip | Font web (WOFF2), HTTP br | Kernel 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
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.
Coppie di conversione per DEFLATE correlate
La conversione di un flusso GZIP in DEFLATE grezzo rimuove il contenitore di file esterno e i metadati dell'intestazione, lasciando solo il carico utile compresso per protocolli di rete specializzati e archivi di basso livello.
La conversione di DEFLATE grezzo in flusso GZIP racchiude il payload compresso all'interno di un contenitore standard con intestazioni di metadati in modo che i sistemi operativi e gli strumenti web possano leggerlo correttamente.