Ir al contenido principal

Que es un archivo zip y como funciona

Seguramente alguna vez has usado o descargado un archivo zip... Se trata de archivos que usan un sistema de COMPRESION de DATOS con el proposito de reducir el tamaño del archivo, para que sea mas facil y rapido, ya sea mandarlo por correo electronico o descargarlo del Internet.

Existen varios tipos de archivos de compresion de datos, como por ejemplo: zip, rar, ace, 7zip, cab, etc...
De la misma forma, existen varios programas para 'descomprimir' dichos formatos, tales como WINRAR, WINZIP y 7-ZIP.




Sin embargo, todos usan mas o menos el mismo principio de funcionamiento: la tecnologia de compresion de archivos busca 'patrones de repeticion' en el contenido binario de un archivo y usa un 'diccionario' con un indice para suplantar las 'palabras' por el numero de entrada en dicho 'indice'. Por ejemplo, echenle un vistazo a la siguiente frase:

"Pablito clavo un clavito, que clavito clavo Pablito?"

Rapidamente notaremos que varias palabras estan repetidas, correcto?

Por lo tanto podemos crear un diccionario conteniendo unicamente las palabras repetidas, creando por lo tanto el siguiente indice:

1 Pablito

2 clavo

3 clavito


Entonces, la frase podria ser representada de la siguiente forma:

"1 2 un 3, que 3 2 1?"


Ahora les pregunto, que ocupa menos espacio? Pablito clavo un clavito, que clavito clavo Pablito? o 1 2 un 3, que 3 2 1?

Analizemos ambas frases asignandole a cada letra o espacio un byte...

Pablito clavo un clavito, que clavito clavo Pablito? ocupa 52 bytes...

1 2 un 3, que 3 2 1? ocupa 20 bytes! 32 byte menos!

Pero existe un problema...el diccionario para poder 'descomprimir' dicho archivo tiene que estar INCLUIDO en el mismo archivo! En nuestro caso, el pequeño diccionario de 3 palabras ocupa 22 bytes. Por lo tanto al archivo zip comprimido de 1 2 un 3, que 3 2 1? tenemos que sumarle 22 bytes que ocupa el diccionario, teniendo un total de 42 bytes... Aun asi sigue siendo mas chico que el archivo de Pablito clavo un clavito, que clavito clavo Pablito? de 52 bytes!

Es por este motivo que los archivos de compresion de datos funcionan mejor cuanto mas grande sea el archivo original que deseamos comprimir, pues la probabilidad de que existan mas palabras o patrones repetidos AUMENTA exponencialmente cuanto mayor sea el archivo en cuestion.

Comentarios

Entradas más populares de este blog

Codigos ASCII

ASCII (aski) significa American Standard Code for Information Interchange y se trata, a grandes rasgos, de un sistema de codificacion de caracteres . Esto es un sistema que le asigna a cada letra, numero, simbolo, etc un valor, usualmente numerico. Dicho valor es el que le indica a la computadora que caracter generar cuando presionas por ejemplo la tecla A. Para escribir decenas de otros simbolos no presentes visualmente en los teclados, podemos usar la tecla ALT y el teclado numerico. Por ejemplo, para escribir la letra ñ en teclados americanos, debemos mantener la tecla ALT presionada y a la vez escribir 164 en el teclado numerico ( el cual debe ser activado previamente, generalmente presionando la tecla de NumLock ). La siguiente es una lista con los codigos ASCII mas populares. Para usarla, presiona ALT y escribe el numero indicado usando el teclado numerico...  ☺ Smiley Blanco  ☻ Smiley Negro ♥ corazón Negro ♦ Diamante ♣ clavo (Clover / Puppyfeet) ♠ Spade

Anatomia de una ventana del Sistema Operativo Microsoft Windows

Hoy vamos a aprender un poco sobre los nombres tecnicos de las distintas partes de una ventana de Windows. En la siguiente foto, vemos lo que se conoce como el 'Desktop' o 'Escritorio de Windows' y sus partes mas importantes: Escritorio de Windows 7 y sus partes principales En la siguiente foto, podemos apreciar el Windows Explorer (NO confundir con el Internet Explorer!) y sus partes principales: Partes de una ventana del Windows Explorer A continuacion, vemos una ventana de Firefox y los nombres tecnicos de sus distintos componentes: Ventana de Firefox Y por ultimo, dos caracteristicas exclusivas del sistema operativo Windows 7: Aero Peek y Jump Lists: Aero Peek Jump Lists Puedes aprender a a usar las Listas de Salto (Jump Lists) en este articulo.

Aprobaciones de inicio de sesion para Facebook

Al igual que el sistema de Verificacion de doble paso de Google, Facebook tambien ofrece un sistema para iniciar sesion que aumenta radicalmente la seguridad de tu cuenta de Facebook. Basicamente se trata de recibir un codigo numerico unico al celular asociado con tu cuenta de Facebook e ingresar ese codigo para poder iniciar sesion en un dispositivo desconocido. Aunque coloques la contraseña correcta, si el sistema de ' aprobaciones de inicio de sesion ' esta activado, no podras ingresar a tu cuenta de Facebook al menos que ingreses el codigo unico que sera enviado inmediatamente a tu celular. Dicho codigo unico genera una cookie que Facebook usara para poder 'reconocer' tu computadora (o navegador) la proxima vez que quieras iniciar sesion desde ese mismo dispositivo, lo cual evitara que tengas que escribir un codigo nuevo cada vez que quieras iniciar sesion en Facebook. Para activar el sistema de Aprobacion de inicio de sesion debes ir aqui: https://www.face