UUEncode

UUEncode
Información sobre la plantilla
Uuencoder.gif
Un algoritmo de codificación que transforma código binario en texto
Sistemas Operativos compatiblesLinux, Windows
Sitio web
uuencode MAN Page

UUEncode proviene de UNIX to Unix Encoding. Se trata de un algoritmo de codificación que transforma código binario en texto. Concretamente, la entrada es un bloque de bytes de 8 bits (generalmente un archivo binario), y la salida un bloque texto de varias líneas con saltos de línea LF o CR-LF y caracteres de texto estándar pertenecientes al alfabeto UUEncode.

Generalidades

La codificación Uuencoding se creó originalmente para enviar archivos binarios mediante el protocolo de correo electrónico uucp.

El sistema uucp convertía conjuntos de caracteres utilizados por diferentes sistemas y no podía distinguir el cuerpo del mensaje de un archivo adjunto. Por este motivo, se diseñó la codificación Uuencode: para convertir archivos binarios a un formato de texto compatible con el correo electrónico, y que no incluyera caracteres que, por error, pudiesen convertirse y generar un archivo adjunto ilegible.

Tipo de archivo

En Windows las extensiones generadas por defecto para los archivos codificados con UUEncode son *.ue y *.uue siendo esta última la más común. Algunos programas de compresión de datos como por ejemplo WinRar y WinZip tratan estos archivos como si fuesen comprimidos pero al abrirlos en un editor de texto se puede notar perfectamente que se trata de un archivo de texto plano.

Principio de la codificación Uuencode

La codificación "Uuencode" consiste en tomar grupos de tres bytes (24 bits) y tratarlos como cuatro grupos de seis bits, representados por los valores cero al 63 inclusive. Si hay menos de 24 bits en el flujo entrante, "UUencode" rellena los restantes con ceros.

Uuencode suma 32 (decimal) a cada valor para obtener un valor que se corresponda con los caracteres imprimibles de ASCII.

Los datos se representan en líneas de 60 caracteres. Por lo tanto, cada línea se puede utilizar para codificar 45 bytes de flujo entrante, ya que cuatro bytes de salida representan tres bytes de entrada de datos.

Cada línea está precedida por un carácter que muestra la cantidad de caracteres que tiene la línea.

Después de todos los datos codificados viene un línea que contiene sólo un espacio, seguido de una línea que contiene la cadena end. El espacio antes de la línea final se reemplaza a veces con el carácter ASCII 96 (acento grave), ya que ciertos clientes de correo electrónico eliminan las líneas vacías.

Formas de uso

Puede ser usado tanto en Linux como en Windows, y es muy utilizado en foros, sitios webs y correo electrónico al no estar permitida la subida o el envío de archivos binarios. En las ediciones números 14 y 15 de la revista cubana de divulgación científico–técnica BlackHat actualmente llamada .BAK se publicó un artículo sobre las distintas formas de uso de este algoritmo y los ejecutables "UUEncode.com" y el "UUDecode.com" para su uso bajo Windows.

Fuente