aspose.info
FI

ZIP

Päivitetty

Mikä on POSTINUMERO-tiedosto?

A file with .zip extension is an archive that can hold one or more files or directories. The archive can have compression applied to the included files in order to reduce the POSTINUMERO file size. POSTINUMERO file format was made public back in February 1989 by Phil Katz for achieving archiving of files and folders. The format was made part of PKPOSTINUMERO utility, created by PKWARE, Inc. Right after the availability of available specifications, many companies made POSTINUMERO file format part of their software utilities including Microsoft (since Windows 7), Apple (Mac OS X ) and many others.

POSTINUMERO-tiedostomuodon lyhyt historia

POSTINUMERO-tiedostomuodon historia juontaa juurensa tapaukseen, jossa System Enhancement Associates (SEA) on nostanut kanteen PKWAREa vastaan, koska se käytti ARC-apuohjelmaa ilman tavaramerkkinsä ja tuotteen ulkoasun ja käyttöliittymän tekijänoikeuksia. Ennen tätä Phil Katz oli kirjoittanut SEA:n lähdekoodin uudelleen ja julkaissut PKXARC:n, ARC-poiminnan, ja PKARCin, tiedostopakkausohjelman, ilmaisohjelmina MS-DOS-pohjaisille järjestelmille. Hävittyään oikeudenkäynnissä PKWARE ei voinut enää käyttää mitään ARC:hen liittyvää. Tästä syntyi uuden tiedostopakkauksen luominen, nimeltään POSTINUMERO, joka tehtiin osaksi PKWARE, Inc:n PKPOSTINUMERO-apuohjelmaa.

Katz julkaisi POSTINUMERO-tiedostomuotomääritykset julkisuuteen säilyttäen samalla pakkaus- ja purkuapuohjelmansa eli PKPOSTINUMERO:n omistusoikeudet. POSTINUMERO-pakkausjärjestelmä pystyi (ja pystyy) arkistoimaan tiedostoja kansioon 32-bittisen syklisen redundanssitarkistusalgoritmin (CRC) avulla tiedostokokojen pakkaamiseksi. Toisin kuin ARC, .POSTINUMERO-kansiot sisälsivät hakemistotiedoston, joka toimi salakirjoittajan koodikirjana ja sisältää pakattujen tiedostojen hahmontamiseen tarvittavat tiedot.

Tuetut pakkausmenetelmät POSTINUMERO:ssä

.POSTINUMERO-tiedostomuodon määritysten mukaan seuraavia pakkausmenetelmiä tuetaan.

  • Store - ei sisällä pakkausta

  • Kutista

  • Vähennys (Tämä tarkoittaa pakkauskertoimia tasosta 1 tasoon 4)

  • Räjähtää

  • Tyhjennä

  • Deflat64

  • BPOSTINUMERO2

  • LZMA (EFS)

  • WavPack

  • PPMd versio I, Rev 1

DEFLATE is the commonly used compression method which is a lossless date compression algorithm that uses a combination of the LZ77 and Huffman coding and is detailed in RFC 1951.

POSTINUMERO-tiedostomuodon tekniset tiedot

POSTINUMERO-tiedostot voivat tallentaa useita tiedostoja käyttämällä erilaisia pakkaustekniikoita, ja samalla ne tukevat tiedoston tallentamista ilman pakkausta. Jokainen tiedosto tallennetaan/pakkataan erikseen, mikä auttaa purkamaan ne tai lisäämään uusia ilman koko arkiston pakkausta tai purkamista.

Yleinen POSTINUMERO-tiedostomuoto

Jokainen Zip-tiedosto on rakennettu seuraavalla tavalla:

POSTINUMERO-tiedostomuoto
Paikallinen tiedoston otsikko 1
Tiedostotiedot 1
Datakuvaaja 1
Paikallinen tiedoston otsikko 2
Tiedostotiedot 2
Datakuvaaja 2
….
….
Paikallinen tiedoston otsikko N
Tiedostotiedot N
Datakuvaaja N
Arkiston salauksenpurkuotsikko
Arkistoi ylimääräiset tiedot
Keskihakemisto

POSTINUMERO-tiedostomuoto käyttää 32-bittistä CRC-algoritmia arkistointitarkoituksiin. Pakattujen tiedostojen hahmontamiseksi POSTINUMERO-arkistossa on lopussa hakemisto, joka säilyttää sisältämien tiedostojen merkinnät ja niiden sijainnin arkistotiedostossa. Siten se toimii koodauksena pakattujen tiedostojen tekemiseen tarvittavien tietojen kapseloimiseksi. POSTINUMERO-lukijat käyttävät hakemistoa tiedostoluettelon lataamiseen lukematta koko POSTINUMERO-arkistoa. Muoto säilyttää kaksi kopiota hakemistorakenteesta, mikä tarjoaa paremman suojan tietojen katoamista vastaan.

Jokainen POSTINUMERO-arkiston tiedosto esitetään erillisenä merkintänä, jossa jokainen merkintä koostuu paikallisesta tiedoston otsikosta ja sen jälkeen pakatuista tiedostotiedoista. Arkiston lopussa oleva hakemisto sisältää viittaukset kaikkiin näihin tiedostomerkintöihin. POSTINUMERO-tiedostolukijoiden tulisi välttää paikallisten tiedostojen otsikoiden lukemista ja kaikenlaiset tiedostoluettelot tulee lukea hakemistosta. Tämä hakemisto on ainoa kelvollisten tiedostomerkintöjen lähde arkistossa, koska tiedostoja voidaan liittää myös arkiston loppuun. Tästä syystä, jos lukija lukee POSTINUMERO-arkiston paikalliset otsikot alusta alkaen, se voi lukea virheellisiä (poistettuja) merkintöjä, samoin kuin ne, jotka eivät ole osa arkistosta poistettavaa hakemistoa.

Keskushakemiston tiedostomerkintöjen järjestyksen ei tarvitse olla sama kuin arkiston tiedostomerkintöjen järjestys.

POSTINUMERO-tiedoston merkinnät

POSTINUMERO-tiedoston merkinnät on järjestetty peräkkäin, jolloin jokainen merkintä koostuu:

  • Paikallinen tiedoston otsikko

  • Valinnaiset lisätietokentät

  • Käyttäjätiedot (valinnaisesti pakattu / valinnaisesti salattu)

Kunkin merkinnän paikallinen tiedoston otsikko edustaa tietoja tiedostosta, kuten kommentti, tiedostokoko ja tiedoston nimi. Lisätietokentät (valinnainen) voivat sisältää tietoja POSTINUMERO-muodon laajennettavuusvaihtoehdoista.

Paikallinen tiedoston otsikko

Paikallisella tiedoston otsikolla on erityinen kenttärakenne, joka koostuu monitavuisista arvoista. Kaikki arvot tallennetaan pieni-endian tavujärjestyksessä, jossa kentän pituus laskee pituuden tavuina. Kaikki POSTINUMERO-tiedoston rakenteet käyttävät 4-tavuisia allekirjoituksia jokaiselle tiedostolle. Keskushakemiston allekirjoituksen loppu on 0x06054b50 ja se voidaan erottaa sen omalla ainutlaatuisella allekirjoituksella. Seuraava on paikalliseen tiedoston otsikkoon tallennettujen tietojen järjestys.

OffsetTavutKuvaus
04Paikallisen tiedoston otsikon allekirjoitus # 0x04034b50 (lukea pienenä loppunumerona)
42Poimittava versio (minimi)
62Yleinen bittimerkki
82Pakkausmenetelmä
102Tiedosto viimeisimmän muokkauksen aika
122Tiedosto viimeisin muokkauspäivä
144CRC-32
184Pakattu koko
224Pakkaamaton koko
262Tiedoston nimen pituus (n)
282Ylimääräinen kentän pituus (m)
30nTiedoston nimi
30+nmLisäkenttä

Keskihakemistotiedoston otsikko

OffsetTavutKuvaus
04Keskihakemistotiedoston otsikon allekirjoitus # 0x02014b50
42Version tekijä
62Poimittava versio (minimi)
82Yleinen bittimerkki
102Pakkausmenetelmä
122Tiedosto viimeisimmän muokkauksen aika
142Tiedosto viimeisin muokkauspäivä
164CRC-32
204Pakattu koko
244Pakkaamaton koko
282Tiedoston nimen pituus (n)
302Ylimääräinen kentän pituus (m)
322Tiedoston kommentin pituus (k)
342Levyn numero, josta tiedosto alkaa
362Sisäiset tiedostomääritteet
384Ulkoiset tiedostomääritteet
424Paikallisen tiedoston otsikon suhteellinen siirtymä. Tämä on tavumäärä ensimmäisen levyn, jolla tiedosto esiintyy, alun ja paikallisen tiedoston otsikon alun välillä. Tämän ansiosta keskushakemistoa lukeva ohjelmisto voi paikantaa tiedoston sijainnin POSTINUMERO-tiedoston sisällä.
46nTiedoston nimi
46+nmLisäkenttä
46+n+mkTiedosta kommentti

Keskushakemistotietueen loppu

OffsetTavutKuvaus
04Keskihakemiston allekirjoituksen loppu # 0x06054b50
42Tämän levyn numero
62Levy, josta keskushakemisto alkaa
82Tällä levyllä olevien keskushakemistotietueiden lukumäärä
102Keskushakemistotietueiden kokonaismäärä
124Keskihakemiston koko (tavuina)
164Keskihakemiston alun siirtymä suhteessa arkiston alkuun
202Kommentin pituus (n)
22nKommentoi

Viitteet

Katso myös