Link to RFC
0 1
+---+---+
|CMF|FLG|
+---+---+
CMF (Metodo di compressione e flag) Questo byte è diviso in un metodo di compressione 4 bit e un campo di bit di informazione 4- a seconda del metodo di compressione.
bits 0 to 3 CM Compression method
bits 4 to 7 CINFO Compression info
CM (metodo di compressione) Questo identifica il metodo di compressione utilizzato nel file. CM = 8
indica il metodo di compressione "deflate" con una finestra di dimensioni da a 32K. Questo è il metodo utilizzato da gzip e PNG e quasi tutto il resto. CM = 15 è riservato.
CINFO (info Compression) Per CM = 8, CINFO è il logaritmo a base 2 della finestra formato LZ77, meno otto (CINFO = 7 indica una dimensione della finestra 32K). I valori di CINFO sopra 7 non sono consentiti in questa versione della specifica . CINFO non è definita in questa specifica per CM non uguale a 8.
In pratica, questo significa che il primo byte è quasi sempre 78
(esadecimale)
FLG (flag) Questo byte bandiera è divisa come segue:
bits 0 to 4 FCHECK (check bits for CMF and FLG)
bit 5 FDICT (preset dictionary)
bits 6 to 7 FLEVEL (compression level)
Il valore fcheck deve essere tale che CMF e FLG, se visti come un numero intero senza segno a 16 bit memorizzato in ordine MSB (CMF * 256 + FLG), è un multiplo di 31.
FLEVEL (Livello di compressione) Questi flag sono disponibili per l'uso con metodi di compressione specifici . Il metodo di "sgonfiare" (CM = 8
) definisce queste bandiere come segue:
0 - compressor used fastest algorithm
1 - compressor used fast algorithm
2 - compressor used default algorithm
3 - compressor used maximum compression, slowest algorithm
Questa è un'ottima risposta :), mi ha aiutato in molti modi ... hey! nice avatar – Ryan