Codificador y decodificador quoted-printable
Convierte Hello café en Hello caf=C3=A9 y lo devuelve a su forma original: acentos y símbolos pasan a pares hexadecimales con signo igual, las letras simples siguen legibles y los saltos suaves acortan las líneas largas. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- Hello café
- Modo de cálculo
- Encode
- Resultado
- Hello caf=C3=A9
- Codificación
- quoted-printable
- Bytes de entrada
- 11
- Bytes de salida
- 15
Este codificador quoted-printable convierte texto UTF-8 plano en MIME Quoted-Printable, y decodifica cadenas QP de vuelta a texto legible, usando las reglas de la sección 6.7 de RFC 2045. Quoted-printable mantiene legibles la mayoría de los caracteres ASCII, mientras codifica los octetos no seguros como escapes hexadecimales de signo igual, razón por la cual los cuerpos de correo, las pasarelas de correo antiguas, y muchas rutas de herramientas MIME todavía dependen de él para texto internacional sin forzar la opacidad total de Base64. El motor es totalmente determinista: la misma entrada y el mismo modo siempre producen el mismo resultado, sin llamadas de red, sin sales aleatorias y sin atajos que dependan de la fecha. Entre las comprobaciones habituales están codificar Hello café en Hello caf=C3=A9, y decodificar esa cadena de vuelta a la frase original.
Qué es quoted-printable y qué devuelve esta herramienta
Quoted-printable es una codificación de transferencia de contenido definida para MIME, para que los datos mayormente textuales puedan viajar por rutas de correo de 7 bits o restringidas sin volverse Base64 opaco. Los caracteres ASCII imprimibles seguros suelen aparecer tal cual, el signo igual queda reservado como introductor de escape, y cualquier otro octeto se escribe como un signo igual seguido de dos dígitos hexadecimales.
Los saltos de línea suaves —un signo igual al final de una línea antes de un CRLF— permiten a los codificadores mantener cada línea codificada dentro del límite clásico de setenta y seis caracteres, sin insertar saltos de línea duros en el texto decodificado.
Esta página siempre sigue ese contrato para texto UTF-8: el modo de codificación codifica su cadena en UTF-8, relaciona cada byte con un carácter literal o un token de igual-hexadecimal, e inserta saltos suaves para que las líneas se mantengan dentro del límite; el modo de decodificación elimina los saltos suaves, expande los pares de igual-hexadecimal en bytes, y rechaza secuencias de escape incompletas o no hexadecimales en lugar de adivinar.
Dónde aparece quoted-printable en el correo electrónico
Los desarrolladores se encuentran con quoted-printable cuando inspeccionan cuerpos de correo marcados Content-Transfer-Encoding: quoted-printable, elaboran mensajes de texto plano internacionales para pasarelas SMTP, o depuran por qué un acento de café se convirtió en pares de igual-hexadecimal en un volcado de mensaje sin procesar. Los equipos de frontend y soporte decodifican fragmentos QP durante la investigación de tickets, sin pegar datos en scripts improvisados que manejan mal los saltos de línea suaves.
Los servicios de backend codifican muestras de configuración o cadenas multilingües cortas antes de colocarlas en partes MIME donde no está garantizado un transporte limpio de 8 bits. Los ingenieros de calidad generan pares de codificación y decodificación deterministas para pruebas de contrato, de modo que una biblioteca de correo que dice admitir QP no pueda cambiar en silencio las reglas de mayúsculas hexadecimales ni descartar los saltos suaves.
Los educadores usan la misma herramienta al enseñar la diferencia entre la opacidad de Base64 y la legibilidad de quoted-printable para cargas útiles mayormente textuales. Combínela con ayudantes de Base64 cuando necesite codificaciones de transferencia relacionadas, y con otras herramientas de texto cuando esté construyendo un pequeño laboratorio de codificadores gratuitos y deterministas.
Qué puede hacer con ella
Depuración del cuerpo de correos
Codifique o decodifique fragmentos MIME quoted-printable de mensajes sin procesar, para que los acentos y los saltos de línea suaves coincidan con lo que muestran los clientes de correo.
Preparación para pasarelas antiguas
Convierta texto plano UTF-8 en quoted-printable seguro para transporte, antes de enviarlo por rutas restringidas de 7 bits.
Preguntas frecuentes
¿Cuánto cuesta el codificador quoted-printable?
Es gratis en su navegador, en esta página.
¿En qué se diferencia quoted-printable de Base64?
Quoted-printable mantiene la mayoría de ASCII legible y solo escapa los octetos no seguros como =XX. Base64 codifica cada byte en un alfabeto opaco y es mejor para binario puro.
¿Qué ocurre si una secuencia de escape está mal formada?
Un =XX incompleto, dígitos no hexadecimales tras =, o un = final suelto, se rechazan en lugar de adivinarse.
¿El resultado es determinista?
Sí. El mismo texto y el mismo modo siempre producen el mismo resultado, sin red, aleatoriedad, ni comportamiento dependiente de la fecha.
¿Por qué la é se convierte en =C3=A9?
Porque en UTF-8 la é ocupa dos bytes, C3 y A9. Quoted-printable escribe cada byte que no es ASCII simple como un signo igual seguido de dos dígitos hexadecimales, así que una sola letra acentuada ocupa seis caracteres.
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/quoted-printable \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello café"}'const res = await fetch("https://api.kit.forhosting.com/enc/quoted-printable", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello café"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/quoted-printable",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello café"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/quoted-printable", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello café"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello café"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/quoted-printable", 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 café"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.quoted_printable",
"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
Utilícelo gratis en el navegador para depuración de correo y práctica MIME, o llame a la API por $0.002 por solicitud exitosa cuando las canalizaciones necesiten transformaciones quoted-printable reproducibles en integración continua y servicios de backend.
Qué es quoted-printable y qué devuelve esta herramienta
La respuesta en JSON incluye result para la cadena transformada, mode que refleja encode o decode, encoding fijo en quoted-printable, e input_bytes más output_bytes para que pueda verificar tamaños en pruebas. No hay ruta en streaming ni reparación silenciosa de QP roto: o la cadena es texto quoted-printable válido, o la solicitud falla con invalid_input. Si necesita empaquetado binario opaco, prefiera los endpoints de Base64 o Base64url; esta página es para la codificación QP legible y orientada al correo que ya esperan los clientes de correo y las bibliotecas MIME.
Cómo se interpretan el texto y el modo, y cómo los resultados se mantienen reproducibles
Encode acepta cualquier cadena Unicode, la convierte con el TextEncoder de la plataforma en bytes UTF-8, y luego emite quoted-printable con escapes hexadecimales en mayúscula y ajustes de línea suaves con CRLF. Después de recuperar los bytes, una decodificación UTF-8 estricta garantiza que la basura binaria no se convierta en texto ininteligible. El campo de carga preferido es text, con los alias input, value y s, para que formularios, cadenas de consulta y clientes de SDK puedan reutilizar el mismo contrato sin renombrar columnas. Mode toma encode por defecto y acepta decode explícitamente; los alias op, direction y action se relacionan con el mismo interruptor para scripts que ya usan esos nombres. Decode exige una cadena QP bien formada: un signo igual solo al final de la entrada, un signo igual seguido de un solo carácter, o un signo igual seguido de dígitos no hexadecimales, fallan con un mensaje claro de invalid_input que nombra el escape mal formado. Combine la ejecución gratuita en el navegador de esta página con la API de pago cuando necesite el mismo resultado matemático dentro de un flujo automatizado, sin tener que reimplementar usted mismo las tablas quoted-printable. Las entradas inválidas devuelven invalid_input y no se cobran, lo que mantiene la validación barata mientras las transformaciones exitosas siguen teniendo un precio fijo por elemento.
Dónde encaja quoted-printable en el correo, MIME, y los fixtures de prueba
En esta página el trabajo se ejecuta enteramente en su navegador; a través de la API, cada consulta exitosa cuesta $0.002, la validación fallida no se cobra, y no se almacena nada después de que se devuelve la respuesta. Esa división —exploración interactiva gratuita y una API de pago idéntica— coincide con el resto del catálogo tier A del KIT y le permite pasar de una demostración de aula a un flujo automatizado sin cambiar el resultado codificado.
Casos de integración
Generación de fixtures MIME
Produzca cadenas QP reproducibles para pruebas unitarias, ficheros golden, y comprobaciones de integración SMTP o IMAP.
Preguntas técnicas
¿Qué modos se admiten?
mode=encode (por defecto) convierte texto plano en quoted-printable. mode=decode convierte una cadena QP de vuelta a texto UTF-8.