aspose.info
HU

POSTAI IRÁNYÍTÓSZÁM

Frissítve

Mi az a ZIP fájl?

A .zip kiterjesztésű fájl olyan archívum, amely egy vagy több fájlt vagy könyvtárat tartalmazhat. Az archívum tömörítést alkalmazhat a mellékelt fájlokon a ZIP-fájl méretének csökkentése érdekében. A ZIP fájlformátumot Phil Katz 1989 februárjában tette nyilvánossá a fájlok és mappák archiválása érdekében. A formátum a PKZIP segédprogram részévé vált, amelyet a PKWARE, Inc. hozott létre közvetlenül az elérhető specifikációk, sok vállalat a ZIP-fájlformátumot tette a segédprogramjai részévé, köztük a Microsoft (Windows 7 óta), az Apple (Mac OS X) és sok más.

A ZIP fájlformátum rövid története

A ZIP fájlformátum előzményei a System Enhancement Associates (SEA) által a PKWARE ellen indított perig nyúlnak vissza, amiért az ARC segédprogramját a védjegye, valamint a termék megjelenésére és felhasználói felületére vonatkozó szerzői jogok nélkül használta. Ezt megelőzően Phil Katz újraírta a SEA forráskódját, és kiadta a PKXARC-t, egy ARC-kivonatot, valamint a PKARC-ot, egy fájltömörítőt, ingyenes szoftverként MS-DOS alapú rendszerekhez. A pert elvesztve a PKWARE már nem tudta használni az ARC-vel kapcsolatos semmit. Itt jött létre egy új fájltömörítés, a ZIP néven, amely a PKWARE, Inc. PKZIP segédprogramjának részévé vált.

Katz nyilvánosságra hozta a ZIP fájlformátum specifikációit, miközben megtartotta a tulajdonjogát a tömörítő és kivonatoló segédprogramja, azaz a PKZIP felett. A ZIP tömörítési rendszer képes volt (és képes is) archiválni a fájlokat egy mappában egy 32 bites ciklikus redundancia-ellenőrző (CRC) algoritmus segítségével a fájl tömörítésére. méretek. Az ARC-vel ellentétben a .ZIP mappák tartalmaztak egy könyvtárfájlt, amely a titkosító kódkönyvének szerepét töltötte be, és a tömörített fájlok megjelenítéséhez szükséges információkat tartalmazta.

Támogatott tömörítési módszerek ZIP-ben

A .ZIP fájlformátum specifikációi szerint a következő tömörítési módszerek támogatottak.

  • Tárolás – tömörítés nélkül
  • Zsugorodik
  • Csökkentés (ez 1-től 4-ig terjedő tömörítési tényezőket jelent)
  • Felrobban
  • Leereszteni
  • Deflat64
  • BZIP2
  • LZMA (EFS)
  • WavPack
  • PPMd I-es verzió, 1. változat

A DEFLATE az általánosan használt tömörítési módszer, amely egy veszteségmentes dátumtömörítési algoritmus, amely az LZ77 és a Huffman kódolás kombinációját használja, és amelyet az RFC 1951 részletez.

ZIP fájl formátum specifikációi

A ZIP fájlok több fájl tárolására is képesek különböző tömörítési technikákkal, ugyanakkor támogatják a fájlok tömörítés nélküli tárolását. Minden egyes fájlt külön-külön tárolnak/tömörítenek, ami segít kicsomagolni őket, vagy újakat hozzáadni anélkül, hogy a teljes archívumra tömörítést vagy kicsomagolást alkalmaznának.

Általános ZIP-fájlformátum

Minden ZIP-fájl a következő módon épül fel:

ZIP fájlformátum
Helyi fájl fejléc 1
Fájladatok 1
1. adatleíró
Helyi fájlfejléc 2
Fájladatok 2
Adatleíró 2
….
….
Helyi fájlfejléc N
N. fájladatok
N. adatleíró
Archív Decryption Header
Extra adatrekord archiválása
Központi címtár

A ZIP fájlformátum 32 bites CRC algoritmust használ az archiváláshoz. A tömörített fájlok előállítása érdekében a ZIP archívum egy könyvtárat tartalmaz a végén, amely megőrzi a benne lévő fájlok bejegyzését és az archív fájlban lévő helyüket. Így a kódolás szerepét tölti be a tömörített fájlok megjelenítéséhez szükséges információk beágyazásához. A ZIP-olvasók a könyvtár segítségével töltik be a fájlok listáját anélkül, hogy elolvasnák a teljes ZIP-archívumot. A formátum megőrzi a címtárszerkezet kettős másolatát, hogy nagyobb védelmet nyújtson az adatvesztés ellen.

A ZIP archívumban lévő minden egyes fájl egyedi bejegyzésként jelenik meg, ahol minden bejegyzés egy helyi fájl fejlécből, majd a tömörített fájladatokból áll. Az archívum végén található könyvtár tartalmazza az összes ilyen fájlbejegyzésre vonatkozó hivatkozásokat. A ZIP-fájlolvasóknak kerülniük kell a helyi fájlfejlécek olvasását, és mindenféle fájllistát a könyvtárból kell olvasni. Ez a könyvtár az egyetlen forrás az érvényes fájlbejegyzésekhez az archívumban, mivel a fájlok az archívum vége felé is hozzáfűzhetők. Éppen ezért, ha egy olvasó a ZIP archívum helyi fejléceit a kezdetektől olvassa, akkor az érvénytelen (törölt) bejegyzéseket is olvassa, valamint azokat, amelyek nem részei az archívumból törlendő könyvtárnak.

A központi könyvtár fájlbejegyzéseinek sorrendje nem kell, hogy egyezzen az archívum fájlbejegyzéseinek sorrendjével.

ZIP fájl bejegyzések

A ZIP-fájl bejegyzései egymás után vannak elrendezve, ahol minden bejegyzés a következőkből áll:

  • Helyi fájl fejléc
  • Opcionális extra adatmezők
  • Felhasználói adatok (opcionálisan tömörítve/opcionálisan titkosítva)

Az egyes bejegyzések helyi fájlfejléce a fájlra vonatkozó információkat, például megjegyzést, fájlméretet és fájlnevet tartalmaz. Az extra adatmezők (opcionális) információkat tartalmazhatnak a ZIP formátum bővíthetőségi lehetőségeiről.

Helyi fájl fejléc

A helyi fájlfejlécnek speciális mezőstruktúrája van, amely több bájtos értékekből áll. Az összes érték kis-végi bájt sorrendben kerül tárolásra, ahol a mező hossza a hosszt bájtokban számolja. A ZIP-fájlban lévő összes struktúra 4 bájtos aláírást használ minden fájlbejegyzéshez. A központi címtár aláírásának vége 0x06054b50, és saját egyedi aláírásával lehet megkülönböztetni. A következő a Helyi fájlfejlécben tárolt információk sorrendje.

EltolásBájtokLeírás
04Helyi fájlfejléc-aláírás # 0x04034b50 (olvasható, mint egy kis szám)
42Kibontáshoz szükséges verzió (minimum)
62Általános bitjelző
82Tömörítési módszer
102A fájl utolsó módosításának ideje
122A fájl utolsó módosításának dátuma
144CRC-32
184Tömörített méret
224Tömörítetlen méret
262Fájlnév hossza (n)
282Extra mezőhossz (m)
30nFájlnév
30+nmExtra mező

Központi könyvtárfájl fejléce

EltolásBájtokLeírás
04Központi könyvtárfájl fejléc aláírása # 0x02014b50
42Verzió: készítette
62Kibontáshoz szükséges verzió (minimum)
82Általános bitjelző
102Tömörítési módszer
122A fájl utolsó módosításának ideje
142A fájl utolsó módosításának dátuma
164CRC-32
204Tömörített méret
244Tömörítetlen méret
282Fájlnév hossza (n)
302Extra mezőhossz (m)
322Fájl megjegyzés hossza (k)
342Lemezszám, ahol a fájl kezdődik
362Belső fájlattribútumok
384Külső fájlattribútumok
424A helyi fájlfejléc relatív eltolása. Ez az első lemez eleje és a helyi fájlfejléc kezdete közötti bájtok száma. Ez lehetővé teszi a központi könyvtárat olvasó szoftver számára, hogy megtalálja a fájl helyét a ZIP-fájlban.
46nFájlnév
46+nmExtra mező
46+n+mkFájl megjegyzés

A központi címtárrekord vége

EltolásBájtokLeírás
04A központi címtár aláírásának vége # 0x06054b50
42A lemez száma
62Lemez, ahol a központi könyvtár kezdődik
82A központi címtárrekordok száma ezen a lemezen
102A központi címtárrekordok száma összesen
124A központi könyvtár mérete (byte)
164A központi címtár kezdetének eltolása az archívum kezdetéhez képest
202Megjegyzés hossza (n)
22nMegjegyzés

Hivatkozások

Lásd még