piapia123
es

Codificador y decodificador de uuencode y xxencode

Web

Todo se ejecuta en tu navegador: no se sube nada

Entrada
Arrastra un archivo aquí para cargarlo
Resultado

uuencode es la codificación de la época del correo y Usenet para llevar binario en texto plano: cada 3 bytes se convierten en 4 caracteres visibles, y el primer carácter de cada línea dice cuántos bytes contiene esa línea. Aquí se admiten uuencode, xxencode y la variante base64. Al codificar, se emite un bloque `begin` / `end` completo que puedes pegar en un correo o guardar como archivo `.uu`. Al decodificar, la validación es estricta: una línea cuya longitud declarada no coincide con sus caracteres reales, o un carácter fuera del alfabeto, se señalan con su número de línea; nada se trunca en silencio. El texto no ASCII se codifica como bytes UTF-8. Todo se ejecuta localmente en tu navegador.

Funciones

  • Tres variantes: uuencode, xxencode, variante base64
  • Al codificar, emite un bloque begin / end completo, listo para guardar
  • Al decodificar, valida de forma estricta y nombra la línea que falla
  • Una longitud declarada que no cuadra con sus caracteres es un error, nunca un truncamiento
  • Los bytes cero usan una comilla invertida (que el correo no se come); al decodificar se aceptan tanto la comilla invertida como el espacio
  • Bytes por línea ajustables (30–60) y nombre de archivo personalizable
  • La salida decodificada indica el nombre de archivo, el modo, el número de bytes y el número de líneas de datos

Cómo se usa

  1. Elige el modo: codificar o decodificar
  2. Elige la variante (uuencode / xxencode / base64)
  3. Para codificar, escribe texto; para decodificar, pega el bloque uuencode entero
  4. Haz clic en Copiar para llevarte el resultado

Preguntas frecuentes

¿Cuál es el primer carácter de una línea de uuencode?
Es el número de bytes de esa línea más 32. Por ejemplo, `M` es 0x4D = 77; resta 32 y da 45, o sea que esa línea lleva 45 bytes. Un recuento de 0 se escribe como una comilla invertida `` ` `` (tradicionalmente también puede aparecer un espacio) y marca el final de los datos.
¿Por qué uuencode usa una comilla invertida para el cero y no un espacio?
Porque los sistemas de correo y de foros suelen eliminar los espacios al final de línea, pero dejan en paz las comillas invertidas. Si el cero fuera un espacio, los ceros finales desaparecerían en tránsito y el archivo decodificado saldría con unos bytes de menos. La comilla invertida se eligió para sobrevivir al transporte.
¿La variante base64 es lo mismo que el Base64 normal?
Mismo alfabeto, distinta envoltura. La variante base64 (`begin-base64 … ====`) es un miembro de la familia uuencode: mete datos base64 dentro del mismo marco begin/end, así que obedece a las mismas reglas de línea completa. El Base64 desnudo no tiene esa cabecera ni ese terminador.
¿Qué significa «la línea N dice que lleva X bytes pero tiene Y»?
Significa que la línea se alteró: se perdieron caracteres al copiar, o se coló un salto de línea. Cada línea de uuencode se describe a sí misma (declara su propia longitud), así que en cuanto las dos cifras no coinciden, la línea entera deja de ser fiable. La herramienta lo rechaza en vez de truncar a la más corta.

Herramientas relacionadas