# ZIP

En informàtica, ZIP o zip és un format d'emmagatzematge comprimit sense pèrdua d'informació, molt utilitzat per a la compressió de dades d'imatges, programes o documents. Per a aquest tipus d'arxius s'utilitza generalment l'extensió «.zip».

## Història

El format de fitxers .ZIP va ser creat per Phil Katz, fundador de l'empresa PKWARE. El va crear després que la seva empresa rebes una demanda per part de Systems Enhancement Associates (SEA). La demanda deia que els seus productes de compressió eren derivats del format ARC del qual SEA era propietaria. Katz havia copiat l'ARC i convertit les rutines de compressió de C a un codi optimitzat en assemblador, que ho feia molt més ràpid. Inicialment, SEA (propietària d'ARC) va intentar obtenir una llicència pel compressor de Katz, anomenat PKARC, però Katz ho va rebutjar. SEA llavors va demandar a Katz per infringir el copyright, i va guanyar. El nom "zip" (el qual té el significat de moviment veloç en angles) va ser suggerit per un amic de Katz, Robert MAhoney. El nom dona la idea que el producte és mès ràpid que ARC i els altres formats de compressió d'aquell temps. La primera versió coneguda del zip, coneguda com .ZIP File Format Specification va ser publicada com a part del paquet de programari PKZIP versió 0.9 en el fitxer APPNOTE.TXT el 1989.
El format .ZIP va ser alliberat al domini públic.

## Informació tècnica

ZIP és un format de fitxer força simple, que comprimeix cada un dels arxius de manera separada. Comprimir cada fitxer independentment de la resta d'arxius comprimits permet recuperar cada un dels fitxers sense haver de llegir la resta, la qual cosa augmenta el rendiment. El problema, és que el resultat d'agrupar un nombre gran de petits arxius és sempre més gran que agrupar tots els arxius i comprimir-com si fos un de sol. Aquest últim comportament és el de l', també conegut, algorisme de compressió RAR. A canvi, això permet extreure cada arxiu de forma independent sense haver de processar l'arxiu des del principi.
L'especificació de ZIP indica que cada fitxer pot ser emmagatzemat, o bé sense comprimir, o utilitzant una àmplia varietat d'algorismes de compressió. No obstant això, en la pràctica, ZIP se sol utilitzar gairebé sempre amb l'algorisme de Phil Katz.
ZIP suporta un sistema de xifrat simètric basat en una clau única. No obstant això, aquest sistema de xifrat és feble davant atacs de text pla, atac de diccionari i força bruta. També suporta distribuir les parts d'un arxiu comprimit en diferents mitjans, generalment disquets.
Amb el temps, s'han anat incloent noves característiques, com a nous mètodes de xifrat. No obstant això, aquestes noves característiques no estan suportades per les aplicacions més utilitzades.

## Mètodes de compressió

* Shrinking (Contracció) (mètode 1)
    La Contracció és una variant de LZW amb petits adjusts. Com a tal, estava afectada per la ja expirada patent de LZW. Mai va estar clar si la patent cobria la descompressió, però per si de cas, alguns projectes lliures, com Info-ZIP van decidir no incloure'l en els seus productes per defecte.
* Reducing (Reducció) (mètodes 2-5)
    La Reducció implica una combinació de compressions de seqüències de bytes i aplicació d'una codificació estadística del resultat.
* Imploding (Implosió) (mètode 6)
    La Implosió implica comprimir seqüències de bytes repetidament amb una funció de finestra lliscant, i posteriorment, comprimir el resultat utilitzant múltiples arbres Shannon-Fano.
* Tokenizing (mètode 7)
    Aquest mètode està reservat. L'especificació PKWARE no defineix un algorisme.
* DEFLATE and enhanced deflate (mètodes 8 i 9)
    Aquests mètodes utilitzen l'algorisme de deflació. DEFLATE permet finestres de fins a 32 KB. Enhanced deflate permet finestres de fins a 64 KB. La versió millorada (enhanced) té un millor comportament, però no està tan estès.
* Biblioteca de compressió de dades de PKWARE per Imploding (mètode 10)
    L'especificació oficial de l'format no dona més informació sobre aquest mètode.
* Mètode 11
    Aquest mètode està reservat per PKWARE.
* Bzip2 (mètode 12)
    Aquest mètode utilitza el conegut algorisme bzip2. Aquest algorisme es comporta millor que DEFLATE, però no està estès àmpliament per les eines (sobretot les de Windows).

## En l'actualitat

Els fitxers ZIP usen l'extensió de fitxer automàticament .zip i tenen el tipus media MIME application/zip. Un fitxer ZIP conté un o més ftixers que estan comprimits o emmagatzemats.Moltes aplicacions software, diferents de PKZIP, estan disponibles per crear, modificar o obrir fitxers zip. Destaquen WinZip, WinRAR i 7-Zip.
Les noves versions de Mac OS X suporten ZIP integrat en Finder, fent el format "oficial" de compressió en els Mac No obstant això, la majoria de fitxers de Mac encara es comprimeixen i empaqueten amb Stuffit o, cada cop més sovint, mitjançant paquets.
Les versions de Windows des de Windows Me també porten per defecte un plugin ( zipfldr.dll ) que permet mostrar-los amb una interfície reduïda de l'explorador de Windows, de forma semblant als d'arxius. cab ( cabview.dll ) ja present en anteriors versions del SO. Els fitxers zip són denominats com a "Carpeta comprimida (en zip)" confonent el fet que s'emmagatzema en un únic fitxer.

## Formats derivats

Aquest format és també molt usat per a la creació d'arxius amb múltiples components, estant tots ells comprimits en un arxiu en format Zip, sovint amb alguna característica més, com l'ús de manifests. El primer d'ells va ser el format Jar utilitzat per a la distribució de classes de Java. Les aplicacions XUL (com Mozilla Firefox) i les seves extensions emmagatzemen bona part dels seus arxius en arxius jar . El format OpenDocument utilitzat per OpenOffice.org i OpenXML per Microsoft Office 2007 són fitxers XML comprimits en format Zip.

## Estat actual dels algorismes de compressió

Actualment, l'ús que se'ls dona als diferents formats de compressió (zip, rar, 7z, etc.) Difereix força de la idea original. Tot i que aquests algorismes van sorgir per reduir la mida dels arxius i així reduir temps de descàrrega i estalviar transferència, actualment, pel fet que la banda ampla ha restat preocupació en aquest sentit i a la ineficiència d'aquests formats amb els actuals arxius multimèdia, ja que aquests es van dissenyar principalment per a arxius de text i algunes imatges, s'ha seguit utilitzant aquests formats per la comoditat que representa tenir diversos fitxers relacionats en un únic contenidor. Per exemple, a l'hora de penjar a internet un paquet de moltes imatges o altres arxius, de no existir contenidor implicaria l'usuari haver de descarregar-se els fitxers un a un, mentre que gràcies a aquests formats l'usuari descarrega un únic fitxer. Un altre dels avantatges que ofereixen actualment és la possibilitat de dividir fitxers en unes quantes parts. Per exemple, en cas de voler pujar un arxiu d'1 GB a un servidor on la mida màxima dels arxius és de 100 MB, aquests programes permetrien la divisió de l'arxiu en 10 parts de 100 MB, de manera que es podria pujar sense problema. Tant és així que fins i tot molts opten per posar el nivell de compressió en 0 o mínim, és a dir en no comprimir l'arxiu per reduir les possibles corrupcions i errors. Per això, si no fos per aquests avantatges, els algoritmes de compressió estarien actualment en desús.

## Vegeu també

* RAR
* CAB
* AFA
* DEB
* 7z
* Bzip2

## Referències

* ↑ «Registration of a new MIME Content-Type/Subtype - application/zip», 20-07-1993. [Consulta: 5 gener 2012].
* ↑ Brian Livingston. «PKZip Must Open Up», 08-09-2003. [Consulta: 5 gener 2012]. «The ZIP file format is given freely into the public domain and can be claimed neither legally nor morally by any individual, entity or company»
* ↑ «WHERE DID ZIP FILES COME FROM ANYWAY ?». [Consulta: 5 gener 2012].
* ↑ «PRESS RELEASE», 1989. [Consulta: 5 gener 2012].
* ↑ «Our Founder - Phil Katz». [Consulta: 5 gener 2012].
* ↑ Gareth Horton, Rob Weir, Alex Brown. «sc34-wg1», 02-11-2010. [Consulta: 5 gener 2012].

## Enllaços externs

* Ben Baker recorda Phil Katz