Skip to content
Ivano Donadi edited this page Jun 2, 2017 · 2 revisions

Gzip

Il formato di file gzip è largamente usato nell'ambiente linux per comprimere singoli file. Per comprimere più files o cartelle si usa il formato .tar.gz. Il formato gzip è descritto nell'RFC 1952.

Un file in formato gzip si compone di due parti:

  • Un header
  • Una parte compressa (solitamente con l'algoritmo DEFLATE)
  • Un trailer (coda)

L'header si compone di:

  • 2 bytes che contengono un numero identificativo che indica che quel pacchetto è compresso con gzip (31, 139)
  • 1 byte che indica il metodo di compressione usato (8 per DEFLATE)
  • 1 byte di flags che possono riservare spazi per un CRC dell'header o per il nome originale del file
  • 4 bytes che indicano la data dell'ultima modifica del file
  • 1 byte che indica la tecnica di compressione usata ( veloce oppure efficiente )
  • 1 byte che indica il sistema operativo in cui il pacchetto è stato compresso

Dopo questo header viene messo il file compresso, dopodichè si inserisce un trailer così composto:

  • 4 bytes di CRC32 del file originale non compresso per il controllo d'integrità
  • 4 bytes che indicano la lunghezza originale del file non compresso, modulo 2^32
Clone this wiki locally