Codificador xxencode
Empaqueta «Hello, world!» en un bloque xxencode clásico, con su begin 644 hello.txt, usando solo más, menos, dígitos y letras para que ninguna pasarela EBCDIC lo estropee, y decodifica esos bloques de vuelta a texto. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- Hello, world!
- Modo de cálculo
- Encode
- Nombre de archivo
- hello.txt
- Resultado
- begin 644 hello.txt BG4JgP4wg65RjQalY6E++ + end
- Codificación
- xxencode
- Bytes
- 13
xxencode es una codificación clásica de binario a texto emparentada con uuencode, pero sustituye el alfabeto de uu —rico en espacios— por un conjunto de sesenta y cuatro símbolos formado solo por más, menos, dígitos y letras. Ese diseño alfanumérico nació para que las pasarelas de correo y los sistemas EBCDIC no corrompieran la carga útil como solían hacer con los flujos uuencode. Quien busca un codificador o decodificador xxencode suele restaurar archivos de correo antiguos, interoperar con herramientas Unix de transferencia, enseñar historia de codificaciones junto a Base64 o necesitar un empaquetado determinista y seguro en texto de mensajes UTF-8 cortos. La codificación es UTF-8 puro y empaquetado de seis bits; la decodificación acepta envoltorios begin y end opcionales, elimina líneas en blanco y rechaza símbolos ilegales en lugar de repararlos en silencio.
Codificar texto UTF-8 a xxencode clásico
El motor interpreta la cadena como texto Unicode, la serializa a bytes UTF-8 y envuelve esos bytes en la forma clásica begin y end que usaban las herramientas históricas de xxencode. Cada línea del cuerpo empieza con un carácter de longitud tomado del mismo alfabeto de sesenta y cuatro símbolos, seguido de grupos de cuatro caracteres que empaquetan tres bytes de datos en veinticuatro bits de índices de seis bits.
Las líneas llevan como máximo cuarenta y cinco bytes de datos, alineadas con el presupuesto de línea familiar de uuencode para que los mensajes largos sigan siendo legibles en clientes de correo y visores de registro. El alfabeto en sí es solo más, menos, dígitos del cero al nueve, A–Z mayúsculas y a–z minúsculas—sin espacios ni puntuación que las pasarelas EBCDIC solían reescribir. Las cadenas vacías son válidas y siguen produciendo un bloque bien formado con una línea terminadora de longitud cero.
Texto multilingüe, emoji y puntuación hacen ida y vuelta porque la ruta es UTF-8 completo, no un atajo Latin-1. La respuesta incluye siempre result con el bloque xxencode completo, mode igual a encode, encoding igual a xxencode, bytes igual a la longitud UTF-8 antes de codificar y filename que repite el nombre de la línea begin, de modo que pueda afirmar el tamaño de la carga y los metadatos de cabecera en las pruebas.
Entradas idénticas producen siempre salidas idénticas porque el algoritmo es aritmética pura sin red, sin sal aleatoria y sin reloj de pared.
Decodificar xxencode a texto y gestionar entrada inválida
Establezca mode en decode y coloque en text un bloque xxencode clásico o una secuencia de líneas solo de cuerpo. Se ignoran las líneas en blanco al inicio y al final para que los pegados multilínea sigan funcionando. Las líneas begin opcionales con forma begin mode filename se analizan para el filename informado, y se acepta una línea end final cuando está presente; las cargas sin envoltorio son igualmente válidas siempre que cada línea del cuerpo empiece con un carácter de longitud del alfabeto.
El alfabeto es estricto: solo se aceptan más, menos, dígitos y letras. Las líneas que declaran más de cuarenta y cinco bytes de datos, grupos de cuatro caracteres truncados más cortos que la longitud declarada o datos tras el terminador de longitud cero se rechazan del mismo modo. Una decodificación correcta devuelve result como la cadena recuperada, mode decode, encoding xxencode, bytes como la longitud UTF-8 decodificada y filename de la línea begin o data si se omitió la cabecera.
Prefiera esta capacidad cuando su intención de búsqueda sea literalmente codificador xxencode, decodificador xxencode o alternativa segura para EBCDIC a uuencode para contenido legible; Base64, Ascii85 y uuencode clásico siguen siendo herramientas separadas con sus propias páginas.
Qué puede hacer con ella
Transferencia de correo y archivos segura para EBCDIC
Codifique cargas UTF-8 cortas con el alfabeto alfanumérico xx cuando las pasarelas o sistemas EBCDIC corromperían los espacios de uuencode clásico, y decodifique a la llegada con el mismo campo mode.
Interoperabilidad con xxencode Unix legado
Produzca o consuma bloques clásicos begin y end que coincidan con herramientas históricas de xxencode para laboratorios de restauración, material formativo y entregas multipistaforma.
Preguntas frecuentes
¿Cómo codifico texto con xxencode?
El filename opcional define el nombre de la línea begin. El campo result de la respuesta contiene el bloque xxencode clásico y bytes es la longitud UTF-8.
¿Cómo decodifico xxencode de vuelta a texto?
Establezca mode en decode y coloque la carga xxencode en text. Se aceptan envoltorios begin y end opcionales. El campo result es el texto UTF-8 recuperado y filename refleja la línea begin cuando está presente.
¿Qué ocurre con un carácter xxencode inválido?
Se rechazan caracteres fuera del alfabeto seguro para EBCDIC (+ - 0-9 A-Z a-z), líneas demasiado largas y grupos truncados; los fallos de validación no se cobran.
¿Es gratuito el codificador xxencode?
La herramienta del navegador se ejecuta gratis en su dispositivo.
¿En qué se diferencia xxencode de uuencode?
Ambos empaquetan tres bytes en cuatro caracteres de seis bits con prefijo de longitud, pero xxencode usa un alfabeto alfanumérico (+-0-9A-Za-z) pensado para transferencias más seguras por sistemas EBCDIC, mientras que uuencode clásico usa un alfabeto basado en espacios que las pasarelas de correo suelen corromper.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/enc/xxencode \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, world!"}'const res = await fetch("https://api.kit.forhosting.com/enc/xxencode", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, world!"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/xxencode",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, world!"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/xxencode", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, world!"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, world!"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/xxencode", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "Hello, world!"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.xxencode",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Esta capacidad resuelve ese trabajo cotidiano: elija el modo encode o decode, envíe el campo text, opcionalmente nombre el archivo de la línea begin y reciba un bloque clásico begin-and-end o el texto plano recuperado—o un error invalid_input claro si la carga a decodificar contiene un carácter fuera del alfabeto xx.
Codificar texto UTF-8 a xxencode clásico
Envíe un cuerpo JSON con el campo de cadena obligatorio text igual al mensaje plano que desea representar en xxencode, y deje mode en su valor por defecto encode o fíjelo en encode de forma explícita. Un campo filename opcional (alias name y file) escribe un nombre simple en la línea begin, por ejemplo message.txt; si se omite, el nombre por defecto es data. Se aceptan los alias opcionales input, value y s para el campo text cuando genera clientes desde nombres de formulario antiguos.
Decodificar xxencode a texto y gestionar entrada inválida
Cualquier otro carácter—incluidos espacios de un pegado uuencode, puntuación de URL o ruido binario—provoca un fallo inmediato invalid_input con un mensaje que nombra la condición de carácter xxencode inválido, de modo que los clientes puedan corregir el pegado en lugar de recibir Unicode corrupto. Tras validar alfabeto y estructura, los bytes recuperados se decodifican como UTF-8 con un decodificador fatal: si la carga no es texto Unicode válido, obtiene invalid_input en lugar de caracteres de reemplazo que corromperían pantallas posteriores. Los fallos de validación no se cobran en la API prepago, así que sondear un fragmento de archivo sospechoso es barato para operadores y seguro para usuarios finales.
Uso de la API, precios, flujos y límites prácticos
Utilice el codificador xxencode gratuito en el navegador para demostraciones de clase, guías de soporte, comprobaciones de recuperación de archivos y conversiones puntuales sin instalar paquetes Unix históricos ni puertos específicos de lenguaje. Un flujo típico codifica un valor de configuración corto o una carga de ejemplo para guardarlo en un ticket solo de texto, lo envía por correo o chat que puede cruzar saltos conscientes de EBCDIC y lo decodifica en el servicio receptor con mode decode, comprobando que bytes coincida con la longitud original y que filename coincida con la línea begin. Use la API prepago de KIT cuando un backend, una función serverless o un SDK necesite el mismo paso de codificación o decodificación con saldo a $0.002 por ítem correcto; la validación fallida nunca consume saldo tras el rechazo del motor. Combine este endpoint con una herramienta Base64 cuando un socio moderno solo hable Base64, pero mantenga los pasos en páginas distintas para que cada una coincida con una sola intención de búsqueda—herencia xxencode y seguridad EBCDIC frente a ubicuidad de Base64. Quienes publiquen SDK pueden mapear el campo result a un botón de copiar, mientras que las etiquetas mode y encoding hacen autoexplicativos los ejemplos OpenAPI para lectores que solo conocen el envoltorio clásico begin y end y el alfabeto alfanumérico.
Casos de integración
Comprobaciones golden en documentación e IC
Fije fixtures de encode y decode para que los ejemplos de documentación y las pruebas de integración continua fallen enseguida si el alfabeto xx o las reglas de longitud de línea se desvían.