Leer las etiquetas MIME juntos
La cabecera Content-Type puede declarar text/plain y un juego de caracteres como UTF-8 para el cuerpo de un mensaje. Content-Transfer-Encoding indica después quoted-printable o Base64. La primera información permite interpretar los bytes como caracteres; la segunda describe cómo se representaron los bytes durante el transporte. Ninguna de las dos basta por sí sola. Quoted-printable deja legibles muchos caracteres ASCII imprimibles y escribe otros bytes con un signo igual seguido de dos dígitos hexadecimales. Base64 representa grupos de bytes mediante un alfabeto limitado. Ambos formatos se pueden decodificar; no cifran el mensaje ni autentican al remitente.
Siga un breve ejemplo acentuado
Toma el texto Café. En UTF-8, la letra é final ocupa los bytes C3 A9. Quoted-printable los representa como =C3=A9; por eso una frase que contiene sobre todo ASCII puede seguir siendo reconocible. La herramienta integrada usa «Café y té» como ejemplo. Base64 produce un texto menos parecido al original, aunque al decodificar sus bytes como UTF-8 se recuperan los mismos caracteres. Compara las dos salidas con sus decodificadores correspondientes. No supongas que todos los signos iguales tienen la misma función: en quoted-printable pueden indicar un byte codificado o un salto de línea suave, y en Base64 pueden servir de relleno.
- Texto Café → para é, bytes UTF-8 C3 A9
- Quoted-printable representa esos bytes como =C3=A9
- Base64 usa otra representación imprimible
El ajuste de línea es parte del contexto.
MIME quoted-printable tiene reglas para la longitud de línea, saltos de línea suaves y espacios en blanco finales literales. Un signo igual al final de una línea codificada puede indicar que la siguiente línea continúa con los mismos datos. Base64 MIME también tiene reglas de longitud de línea para los cuerpos de los mensajes. Un pequeño conversor de texto del navegador es útil para ver la representación de bytes, pero un remitente de correo electrónico de producción debe aplicar las reglas MIME completas, establecer encabezados coherentes y evitar una recodificación accidental. Copiar un cuerpo codificado con transporte directamente en una página HTML mostrará los caracteres codificados, no el texto deseado. Decodificar en el límite de recepción.
Cuando cada representación es útil
La impresión entre comillas suele ser conveniente cuando el cuerpo es principalmente texto ASCII con bytes ocasionales que no son ASCII, porque un humano aún puede inspeccionar grandes partes del mismo. Base64 puede adaptarse a datos con muchos bytes fuera del ASCII imprimible, aunque su salida es más larga y opaca para un lector ocasional. El contenido y el protocolo de recepción deciden; no elija una codificación de transferencia simplemente porque una salida de muestra parece más corta. También distinga los encabezados de los correos electrónicos del cuerpo: las líneas de asunto codificadas utilizan una sintaxis de encabezado adicional y no pueden tratarse como un cuerpo ordinario imprimible entre comillas.
Solucionar problemas de capas en orden
Si un correo electrónico muestra "Caf=C3=A9", primero verifique si la codificación de la transferencia fue decodificada. Si muestra símbolos de reemplazo después de la decodificación, inspeccione el juego de caracteres declarado y los bytes reales. Si aparece texto con doble codificación, identifique qué sistema lo codificó dos veces en lugar de ejecutar un decodificador a ciegas hasta que se vea bien. Conserve una muestra UTF-8 original, las etiquetas MIME y ambos ejemplos codificados para una prueba repetible. Las herramientas MultiVerto ilustran las transformaciones del texto ingresado; no ensamblan ni validan un mensaje de correo electrónico completo.