1. En informática, ZIP o zip es un formato de almacenamiento sin
pérdida, muy utilizado para la compresión de datos como
documentos, imágenes o programas.
Para este tipo de archivos se utiliza generalmente la extensión ".zip".
Muchos programas, tanto comerciales como libres, lo utilizan y
permiten su uso más habitual.
Historia
El formato ZIP fue creado originalmente por Phil Katz, fundador de
PKWARE. Katz liberó al público la documentación técnica del formato
ZIP, y lanzó al mismo tiempo la primera versión de PKZIP en enero
de 1989.
Katz había copiado ARC y convertido las rutinas de compresión de C a
un código optimizado en ensamblador, que lo hacía mucho más
rápido. Inicialmente, SEA intentó obtener una licencia por el
compresor de Katz, llamado PKARC, pero Katz lo rechazó. SEA
demandó entonces a Katz por infringir el copyright, y ganó.
Información técnica
ZIP es un formato de fichero bastante simple, que comprime cada
uno de los archivos de forma separada. Comprimir cada archivo
independientemente del resto de archivos comprimidos permite
recuperar cada uno de los ficheros sin tener que leer el resto, lo que
aumenta el rendimiento. El problema, es que el resultado de agrupar
un número grande de pequeños archivos es siempre mayor que
agrupar todos los archivos y comprimirlos como si fuera uno sólo. A
cambio, esto permite extraer cada archivo de forma independiente
sin tener que procesar el archivo desde el principio.
La especificación de ZIP indica que cada archivo puede ser
almacenado, o bien sin comprimir, o utilizando una amplia variedad
de algoritmos de compresión. Sin embargo, en la práctica, ZIP se
suele utilizar casi siempre con el algoritmo de Phil Katz.
ZIP soporta un sistema de cifrado simétrico basado en una clave
única. Sin embargo, este sistema de cifrado es débil ante ataques de
2. texto plano, ataque de diccionario y fuerza bruta. También soporta
distribuir las partes de un archivo comprimido en distintos medios,
generalmente disquetes.
Con el tiempo, se han ido incluyendo nuevas características, como
nuevos métodos de cifrado. Sin embargo, estas nuevas
características no están soportadas por las aplicaciones más
utilizadas.
Métodos de compresión
• Shrinking (Contracción) (método 1)
La Contracción es una variante de LZW con unos pequeños
ajustes. Como tal, estaba afectada por la ya expirada patente
del LZW. Nunca estuvo claro si la patente cubría la
decomprensión, pero por si acaso, algunos proyectos libres,
como Info-ZIP decidieron no incluirlo en sus productos por
defecto.
• Reducing (Reducción) (métodos 2-5)
La Reducción implica una combinación de compresiones de
secuencias de bytes y aplicación de una codificación estadística
del resultado.
• Imploding (Implosión) (método 6)
La Implosión implica comprimir secuencias de bytes
repetidamente con una función de ventana deslizante, y
posteriormente, comprimir el resultado utilizando múltiples
árboles Shannon-Fano.
• Tokenizing (método 7)
Este método está reservado. La especificación PKWARE no
define un algoritmo para él.
• Deflate and enhanced deflate (métodos 8 y 9)
Estos métodos usan el bien conocido algoritmo deflate. Deflate
permite ventanas de hasta 32 KB. Enhanced deflate permite
ventanas de hasta 64 KB. La versión mejorada (enhanced)
tiene un mejor comportamiento, pero no está tan extendido.
• Biblioteca de compresión de datos de PKWARE por
Imploding (método 10)
3. La especificación oficial del formato no da más información
sobre este método.
• Método 11
Este método está reservado por PKWARE.
• Bzip2 (método 12)
Este método utiliza el conocido algoritmo bzip2. Este algoritmo
se comporta mejor que Deflate, pero no está ampliamente
soportado por las herramientas (sobre todo las de Windows).
En la actualidad
Hoy, los archivos ZIP emplean la extensión de fichero .zip y tienen el
tipo media MIME application/zip. Un archivo ZIP contiene uno o más
archivos que están comprimidos o almacenados.
Muchas aplicaciones software, distintas de PKZIP, están disponibles
para crear, modificar o abrir archivos zip. Destacan WinZip, WinRAR,
PeaZip y 7-Zip.
Las versiones de Windows desde Windows Me también traen por
defecto un plugin (zipfldr.dll) que permite mostrarlos con una interfaz
reducida del Explorador de Windows, de forma parecida a los de
archivos .cab (cabview.dll) ya presente en anteriores versiones del
SO. Los archivos zip son denominados como "Carpeta comprimida (en
zip)" confundiendo el hecho de que se almacena en un único fichero.
Las nuevas versiones de Mac OS X incluyen soporte ZIP integrado en
Finder, haciéndolo el formato "oficial" de compresión en los Mac. Sin
embargo, la mayoría de archivos de Mac todavía se comprimen y
empaquetan con Stuffit o, cada vez más a menudo, mediante
tarballs.
Formatos derivados
Este formato es también muy usado para la creación de archivos con
múltiples componentes, estando todos ellos comprimidos en un
archivo en formato Zip, a menudo con alguna característica más,
como el uso de manifests. El primero de ellos fue el formato Jar
usado para la distribución de clases (.class) de Java. Las aplicaciones
XUL (como Mozilla Firefox) y sus extensiones almacenan buena parte
de sus archivos en archivos jar. El formato OpenDocument usado por