> unix | clásico | legado <

// UUencoding: codificación Unix-to-Unix para transmitir datos binarios a través de canales solo texto

[UNIX]

Estándar Unix clásico

Método de codificación histórico utilizado durante décadas para correo electrónico, grupos de noticias y transferencia de archivos en sistemas Unix.

[COMPATIBLE]

Alta compatibilidad

Soportado de forma nativa por muchas herramientas y utilidades en Unix/Linux y por clientes de correo antiguos.

[AUTOCONTENIDO]

Formato autocontenido

Incluye permisos de archivo y nombre en la salida codificada, lo que facilita la recuperación completa en el lado del receptor.

>> detalles técnicos

Cómo funciona UUencoding:

UUencoding convierte datos binarios en texto ASCII utilizando caracteres imprimibles a partir del espacio (ASCII 32). Al igual que Base64, codifica 3 bytes en 4 caracteres, pero con un conjunto de caracteres distinto y líneas begin/end que contienen metadatos del archivo.

Ejemplo:

"Hello" → begin 644 data\n%2&5L;&\\`\n`\nend

Por qué usar UUencoding:

  • >Compatibilidad con scripts y herramientas Unix heredados
  • >Conserva permisos y nombres de archivo en el flujo codificado
  • >Apto para analizar archivos antiguos enviados por correo o Usenet
  • >Funciona bien en canales solo texto donde se espera UUencode
  • >Útil para interoperar con sistemas antiguos que aún lo utilizan

>> preguntas frecuentes

¿Qué es UUencoding?

UUencoding (Unix‑to‑Unix encoding) es un esquema de codificación binario‑a‑texto usado históricamente para transferir archivos binarios a través de canales de texto como correo electrónico y Usenet.

¿En qué se diferencia UUencoding de Base64?

Ambos codifican 3 bytes en 4 caracteres, pero UUencoding utiliza un conjunto de caracteres diferente que comienza en el espacio (ASCII 32) e incluye permisos y nombre de archivo en las líneas begin/end.

¿Cuándo debo usar UUencoding hoy en día?

Cuando trabajas con scripts, sistemas o archivos antiguos que esperan específicamente UUencode, o al inspeccionar adjuntos de correo y archivos heredados.

¿Sigue siendo relevante UUencoding?

Base64 es el estándar moderno, pero UUencoding sigue apareciendo en herramientas Unix/Linux, archivos de Usenet y flujos de trabajo heredados donde la compatibilidad es importante.

// Referencia rápida

NombreDescripción
Length charbyte count + 32 (45 bytes -> M)
Group3 bytes -> 4 chars, each 6 bits + 32 (space..underscore)
Zero valuebacktick ` instead of space
Lineup to 45 bytes -> 60 chars
Headerbegin 644 filename
Trailer` line, then end

// Ejemplo resuelto

Input   Cat      (0x43 0x61 0x74)
Bits    010000 110110 000101 110100  = 16 54 5 52
+32     48 86 37 84  ->  0 V % T
Line    #0V%T        (# = 3 bytes + 32)

begin 644 cat.txt
#0V%T
`
end

>> Más preguntas

P: ¿Qué es UUencode?

R: Un método histórico de Unix («Unix-to-Unix encode») que convierte datos binarios en caracteres ASCII imprimibles para enviarlos por correo o Usenet. 3 bytes pasan a 4 caracteres, con ~33 % de sobrecarga.

P: ¿En qué se diferencia UUencode de Base64?

R: Ambos convierten 3 bytes en 4 caracteres. UUencode suma 32 a cada valor de 6 bits (caracteres del espacio a «_»), Base64 usa A–Z a–z 0–9 + /. UUencode añade además un carácter de longitud por línea y líneas begin/end con nombre de archivo y permisos.

P: ¿Se sigue usando UUencode?

R: Rara vez. MIME con Base64 lo ha sustituido en gran parte en el correo. Aún aparece en archivos antiguos de Usenet y en las herramientas Unix uuencode/uudecode. Para algo nuevo, mejor Base64.

Otros idiomas