Curiosidades

¿Por qué los ficheros "engordan" en Internet?

Los servidores de correo lo envían todo en 7 bits (puede que ahora no sea así en todos, pero por compatibilidad con los antiguos, la mayoría lo siguen haciendo).

Lo óptimo y más fácil es siempre tratar con símbolos que transmitan un número entero de bits de información. Con ASCII son 7 bits (aunque el juego de caracteres de los ordenadores es de 8 bits), pero debemos quitar de la codificación los caracteres no imprimibles, los de control, el retorno de carro, etc.

Redondeando, pasamos a 6 bits, y por lo tanto, la codificación usa 64 caracteres diferentes (de ahí su nombre: base64). Con un conjunto de 64 caracteres, cada uno de ellos aporta 6 bits de información, ocupando sin embargo 8 bits cada uno.

Cada carácter aporta 6 bits de información del fichero original, pero ocupa 8, como todos. De ahí que 8/6=1'33 -> 33% más, que es lo que engorda el mensaje al recodificarlo de esta manera. La información se codifica como caracteres, aportando cada carácter 6 bits de información. Por lo tanto, para codificar 3 octetos del fichero original (8*3=24 bits), se necesitan 4 caracteres (4*6=24 bits). De ahí lo del 33%.

Ejemplo: queremos mandar 3 octetos (de 8 bits)

8 7 6 5 4 3 2 1 - 8 7 6 5 4 3 2 1 - 8 7 6 5 4 3 2 1

Al codificar con 6 bits tendremos:

* * 8 7 6 5 4 3 - * * 2 1 8 7 6 5 - * * 4 3 2 1 8 7 - * * 6 5 4 3 2 1

De donde se ve que para mandar 3 bytes se necesitan 4.


Francisco Rodrigo Escobedo Robles - frer@pepix.net
Pepix.Net: no lo imagines, vivelo - http://Pepix.Net/
  El Rinconcito Informático: 25/06/2000 - (c) 2000 - 2008  | Creación y mantenimiento : José Luis Freire   | Se pretende poder utilizar cualquier navegador. Recomendado 1024x768