Calculatoare
Formatul fisierelor .zip
In mare, un fisier .zip, are urmatorul format: la inceput fisierele
arhivate, fiecare avand propriuxl lui header; dupa fisiere, urmeaza informatii
despre structura de directoare in care se gasesc fisierele, iar la sfarsit,
informatii despre sfarsitul structurii de directoare, care are si el un header
propriu.
Deci, fiecare
fisier din arhiva incepe cu urmatorul header:
Offset
|
Nr. de octeti
|
Descriere
|
0000h
|
|
ID='PK',03,04
|
0004h
|
|
Versiunea de
care este nevoie pentru a fi extrase fisierele
|
0006h
|
|
Camp de biti
cu scop general
|
0008h
|
|
Metoda de
compresie
|
000Ah
|
|
Timpul si data
originale ale fisierului
|
000Eh
|
|
Codul CRC pe 32 de biti al fisierului
|
0012h
|
|
Marimea fisierului comprimat
|
0016h
|
|
Marimea fisierului decomprimat
|
001Ah
|
|
Lungimea caii
fisierului
|
001Ch
|
|
Lungimea campurilor suplimentare
|
001Eh
|
'LEN'octeti
|
Director/nume fisier
|
|
'XLN'octeti
|
Campurile suplimentare
|
Dupa toate
fisierele, la sfarsitul arhivei, urmeaza structura directorului, care mai
contine informatii suplimentare despre fisierele din arhiva.
Nr. de octeti
|
Descriere
|
|
ID='PK', 01,
02
|
|
Versiune creata de
|
|
Versiunea de
care este nevoie pentru a fi extrase fisierele
|
|
Camp de biti
cu scop general
|
|
Metoda de
compresie
|
|
Timpul si data originale ale fisierului
|
|
Codul CRC pe 32 de biti al fisierului
|
|
Marimea fisierului comprimat
|
|
Marimea fisierului decomprimat
|
|
Lungimea caii fisierului ='LEN'
|
|
Lungimea
campurilor suplimentare='XLN'
|
|
Lungimea comentariului fisierului='COM'
|
|
Numarul discului de inceput
|
|
Atribute interne ale fisierului
|
|
Atribute externe ale fisierului
|
|
Offsetul relativ
|
'LEN' octeti
|
Director/nume fisier
|
'XLN' octeti
|
Campurile suplimentare
|
'COM' octeti
|
Comentariul fisierului
|
Sfarsitul
structurii directorului, are forma urmatoare:
Nr. de octeti
|
Descriere
|
|
Semnatura
sfarsitului structurii directorului
|
|
Numarul
acestui disc
|
|
Numarul discului
care contine inceputul structurii directorului
|
|
Numarul total
de intrari din structura directorului de pe acest disc
|
|
Numarul total
de intrari din structura directorului
|
|
Marime
directorului
|
|
Offset-ul
inceputului directorului in concordanta cu discul numarului de inceput
|
|
Lungimea
comentariului arhivei='COM'
|
'COM'octeti
|
Comentariul
arhivei
|
Explicatii
despre campurile care alcatuiesc header-ele:
- Versiune creata de - primul octet, indica
numarul versiunii programului folosit pentru a comprima datele. Valoarea
octetului impartita la 10, indica versiunea majora, iar valoarea octetului
modulo 10, indica versiunea minora(daca versiunea
este 5.2, versiunea majora este 5, iar versiunea minora este 2). Al
doi-lea octet, indica sistemul de operare al fisierului. Acesta poate fi:
0 - pentru MS-DOS si OS/2 care foloseste sistemul de fisiere FAT; 1-
Amiga; 2- VMS; 3- *nix; 4- VM/CMS; 5- Atari; 6 - OS/2 care foloseste
sistemul de fisiere HPFS; 7- Macintosh; 8- Z-System; 9- CP/M; de la 10 la
255 nefolositi.
- Versiunea de care este
nevoie pentru a fi extrase fisierele - versiunea minima de care este
nevoie pentru a extrage fisierele; octetii au aceleasi valori ca mai sus.
- Camp de biti cu scop general - bitul 0 - daca este setat, indica un fisier criptat; bitul 1- daca
metoda de compresie folosita este de tipul 6, atunci daca acest bit are
valoarea 1, inseamna ca s-a folosit un dictionar de 8K, altfel, s-a
folosit un dictionar de 4K. Bitii 1 si 2, nu sunt definiti daca metoda de
compresie nu este de tipul 6.
- Metoda de compresie: 0 - fisierul este pus in
arhiva dar, nu este comprimat; 1- fisierul este compactat; 2- fisierul
este comprimat cu factorul de compresie 1; 3- fisierul este comprimat cu
factorul de compresie 2; 4- fisierul este comprimat cu factorul de
compresie 3; 5- fisierul este comprimat cu factorul de compresie 4; 6-
fisierul este comprimat folosind arbori Shanno-Fano, folosind dictionare
de 4K/8K.
- Data si timpul - timpul si data fisierului
codate in formatul standard MS-DOS
- Numarul discului de inceput - numarul discului
pe care se afla inceputul acestui fisier
- Atributele interne ale fisierului - daca
primul bit este setat(este 1), atunci, fisierul
este un fisier ASCII, sau text; altfel, este posibil sa contina date
binare. Restul bitilor nu sunt folositi.
- Atributele externe ale fisierului - aceste
atribute, depind de tipul sistemului de operare.
- Offset-ul relativ - este offset-ul de la
inceputul primului disc, unde acest fisier apare; adica unde ar trebui sa
fie gasit header-ul
- Numele/calea fisierului - numele si calea
fisierului; toate slash-urile, trebuie sa fie
'/', nu ''.
- Numarul acestui disc - Numarul discului care
contine sfarsitul structurii directorului.
- Numarul discului care contine inceputul
structurii directorului - Numarul discului care contine inceputul
structurii directorului
- Numarul total de intrari din structura
directorului de pe acest disc - numarul total de fisiere de pe discul
curent.
- Numarul total de intrari din structura
directorului - numarul total de fisiere din toata arhiva.
- Marimea directorului - marimea in octeti a
directorului.
- Offset-ul inceputului directorului in
concordanta cu discul numarului de inceput - offset-ul inceputului
structurii directorului de pe discul de pe care incepe.
|
|
Calculatoare
|
|
|
Documente online pe aceeasi tema
|
|
Ramai informat |
Informatia de care ai nevoie Acces nelimitat la mii de documente. Online e mai simplu. |
Contribuie si tu!
Adauga online documentul tau.
|
|
|
|
|