Τι είναι ένα αρχείο GZ;
Ένα αρχείο GZ είναι ένα συμπιεσμένο αρχείο που δημιουργείται χρησιμοποιώντας τον τυπικό αλγόριθμο συμπίεσης gzip (GNU zip). Μπορεί να περιέχει πολλά συμπιεσμένα αρχεία, καταλόγους και στελέχη αρχείων. Αυτή η μορφή αναπτύχθηκε αρχικά για να αντικαταστήσει τις μορφές συμπίεσης σε συστήματα UNIX. και εξακολουθεί να είναι ένας από τους πιο συνηθισμένους τύπους αρχειοθέτησης σε συστήματα Linux. Εφαρμογές όπως το WinZip μπορούν να ανοίξουν αρχεία GZ για να προβάλουν τα περιεχόμενά του τόσο σε Windows όσο και σε MacOS.
Μορφή αρχείου GZ - Περισσότερες πληροφορίες
Το Gzip χρησιμοποιεί τον αλγόριθμο DEFLATE για τη συμπίεση του αρχείου και διαφέρει από τη μορφή αρχείου ZIP στην εφαρμογή του αλγόριθμου συμπίεσης σε πλήρες αρχείο παρά μεμονωμένα αρχεία. Οι προδιαγραφές μορφής αρχείου GZIP έκδοση 4.3 που δημοσιεύτηκε από την Ομάδα Εργασίας Μηχανικής Διαδικτύου (IETF) περιέχει λεπτομερείς πληροφορίες σχετικά με τη μορφή αρχείου. Η μορφή αρχείου αποτελείται από:
- Κεφαλίδα αρχείου
- Προαιρετικές κεφαλίδες
- Συμπιεσμένα δεδομένα
- Υποσέλιδο αρχείου
Κεφαλίδα αρχείου GZ
Η κεφαλίδα του αρχείου GZ αποτελείται από 10 byte ως εξής:
Μετατόπιση | Μέγεθος | Τιμή | Περιγραφή |
---|---|---|---|
0 | 2 | 0x1f 0x8b | Τύπος αρχείου αναγνώρισης μαγικού αριθμού |
2 | 1 | Μέθοδος συμπίεσης * 0-7 (δεσμευμένο) * 8 (ξεφουσκώματος) | |
3 | 1 | Σημαίες αρχείου | |
4 | 4 | Χρονική σήμανση 32 bit | |
8 | 1 | Σημαίες συμπίεσης | |
9 | 1 | Αναγνωριστικό λειτουργικού συστήματος |
Σημαίες αρχείου
Τιμή | Αναγνωριστικό | Περιγραφή |
---|---|---|
0x01 | FTEXT | Εάν οριστεί, τα ασυμπίεστα δεδομένα πρέπει να αντιμετωπίζονται ως κείμενο αντί για δυαδικά δεδομένα. Αυτή η σημαία υποδεικνύει μετατροπή τέλους γραμμής για αρχεία κειμένου μεταξύ πλατφορμών, αλλά δεν την επιβάλλει. |
0x02 | FHCRC | Το αρχείο περιέχει ένα άθροισμα ελέγχου κεφαλίδας (CRC-16) |
0x04 | FEXTRA | Το αρχείο περιέχει επιπλέον πεδία |
0x08 | FNAME | Το αρχείο περιέχει μια συμβολοσειρά αρχικού ονόματος αρχείου |
0x10 | FCOMMENT | Το αρχείο περιέχει σχόλιο |
0x20 | ||
0x40 | ||
0x80 |
Λειτουργικό σύστημα
Αξία | Περιγραφή |
---|---|
0 | Σύστημα αρχείων FAT (MS-DOS, OS/2, NT/Win32) |
1 | Amiga |
2 | VMS (ή OpenVMS) |
3 | Unix |
4 | VM/CMS |
5 | Atari TOS |
6 | Σύστημα αρχείων HPFS (OS/2, NT) |
7 | Macintosh |
8 | Σύστημα Ζ |
9 | CP/M |
10 | TOPS-20 |
11 | Σύστημα αρχείων NTFS (NT) |
12 | QDOS |
13 | Βελανίδι RISCOS |
255 | άγνωστο |
Προαιρετικές κεφαλίδες GZ
Οι προαιρετικές πρόσθετες κεφαλίδες είναι αυτές που υποδεικνύονται από τις σημαίες του αρχείου και περιλαμβάνουν πληροφορίες όπως το αρχικό όνομα αρχείου, επιπλέον πεδία, σχόλια και άθροισμα ελέγχου κεφαλίδων.
Συμπιεσμένα δεδομένα
Αυτή η ενότητα περιέχει τα συμπιεσμένα δεδομένα χρησιμοποιώντας τον αλγόριθμο συμπίεσης DEFLATE.
Υποσέλιδο αρχείου GZ
Το υποσέλιδο αρχείου έχει μέγεθος 8 byte και περιέχει τις ακόλουθες πληροφορίες.
Μετατόπιση | Μέγεθος | Περιγραφή |
---|---|---|
0 | 4 | Άθροισμα ελέγχου (CRC-32) |
4 | 4 | Τιμή μεγέθους μη συμπιεσμένων δεδομένων σε byte |
Βιβλιογραφικές αναφορές
- gzip - Wikipedia
- RFC1952: Προδιαγραφή μορφής αρχείου GZIP, από την IETF.