stringtranslate.com

Citado-imprimible

Quoted-Printable , o codificación QP , es un sistema de codificación de binario a texto que utiliza caracteres ASCII imprimibles ( alfanuméricos y el signo igual = ) para transmitir datos de 8 bits a través de una ruta de datos de 7 bits o, generalmente, a través de un medio que sea No es limpio en 8 bits . Históricamente, debido a la amplia gama de sistemas y protocolos que se podían utilizar para transferir mensajes, a menudo se suponía que el correo electrónico no estaba limpio en 8 bits; sin embargo, los servidores SMTP modernos en la mayoría de los casos están limpios en 8 bits y admiten 8BITMIMEextensión. También se puede utilizar con datos que contengan octetos no permitidos o longitudes de línea que excedan los límites SMTP. Se define como una codificación de transferencia de contenido MIME para uso en correo electrónico .

QP funciona utilizando el signo igual =como carácter de escape . También limita la longitud de la línea a 76, ya que algunos programas tienen límites en la longitud de la línea.

Introducción

MIME define mecanismos para enviar otros tipos de información en el correo electrónico, incluido texto en idiomas distintos del inglés , utilizando codificaciones de caracteres distintas a ASCII. Sin embargo, estas codificaciones a menudo utilizan valores de bytes fuera del rango ASCII, por lo que es necesario codificarlas más antes de que sean adecuadas para su uso en un entorno limpio que no sea de 8 bits. La codificación entre comillas imprimible es un método utilizado para asignar bytes arbitrarios a secuencias de caracteres ASCII. Por lo tanto, Quoted-Printable no es un esquema de codificación de caracteres en sí, sino una capa de codificación de datos que se utilizará bajo alguna codificación de caracteres orientada a bytes . La codificación QP es reversible, lo que significa que los bytes originales y, por tanto, los caracteres no ASCII que representan se pueden recuperar de forma idéntica.

Quoted-Printable y Base64 son las dos codificaciones de transferencia de contenido MIME, si no se cuentan las codificaciones triviales de "7 bits" y "8 bits". Si el texto que se va a codificar no contiene muchos caracteres que no sean ASCII, Quoted-Printable da como resultado un resultado codificado compacto y bastante legible. Por otro lado, si la entrada tiene muchos caracteres de 8 bits, Quoted-Printable se vuelve ilegible y extremadamente ineficiente. Base64 no es legible por humanos, pero tiene una sobrecarga uniforme para todos los datos y es la opción más sensata para formatos binarios o texto en una escritura distinta a la latina .

Codificación imprimible entre comillas

Cualquier valor de byte de 8 bits se puede codificar con 3 caracteres: =seguido de dos dígitos hexadecimales (0–9 o A–F) que representan el valor numérico del byte. Por ejemplo, un carácter de avance de formulario ASCII (valor decimal 12) se puede representar con =0C, y un signo igual ASCII (valor decimal 61) se debe representar con =3D. Todos los caracteres excepto los caracteres ASCII imprimibles o los caracteres de final de línea (pero también =) deben codificarse de esta manera.

Todos los caracteres ASCII imprimibles (valores decimales entre 33 y 126) pueden representarse por sí mismos, excepto =(decimal 61, hexadecimal 3D, por lo tanto =3D).

Los caracteres de tabulación y espacio ASCII , valores decimales 9 y 32, pueden representarse por sí mismos, excepto si estos caracteres aparecen al final de la línea codificada. En ese caso, deberían tener un carácter de escape =09(tabulación) o =20(espacio), o ir seguidos de un =(salto de línea suave) como último carácter de la línea codificada. Esta última solución es válida porque evita que la tabulación o el espacio sean el último carácter de la línea codificada.

Si los datos que se codifican contienen saltos de línea significativos, deben codificarse como una secuencia ASCII CR LF, no como sus valores de bytes originales, ni directamente ni mediante =signos. Por el contrario, si los valores de bytes 13 y 10 tienen significados distintos al de final de línea (en tipos de medios, [2] por ejemplo), entonces deben codificarse como =0Dy =0Arespectivamente.

Las líneas de datos codificados entre comillas e imprimibles no deben tener más de 76 caracteres. Para satisfacer este requisito sin alterar el texto codificado, se pueden agregar saltos de línea suaves según se desee. Un salto de línea suave consiste en un =al final de una línea codificada y no aparece como un salto de línea en el texto decodificado. Estos saltos de línea suaves también permiten codificar texto sin saltos de línea (o que contenga líneas muy largas) para un entorno donde el tamaño de línea es limitado, como el límite de 1000 caracteres por línea de algunos software SMTP , según lo permitido por RFC 2821.

En los encabezados de los mensajes se utiliza una versión ligeramente modificada de Quoted-Printable; consulte MIME#Palabra codificada .

Ejemplo

El siguiente ejemplo es un texto francés (codificado en UTF-8), con una alta frecuencia de letras con signos diacríticos (como la é ).

J'interdis aux marchands de vanter trop leurs marchandises. Car ils se font= vite p=C3=A9dagogues et t'enseignent comme but ce qui n'est par essence qu='un moyen, et te trompant ainsi sur la route =C3=A0 suivre les voil=C3=A0 b=ient=C3=B4t qui te d=C3=A9gradent, car si leur musique est vulgaire ils te =fabriquent pour te la vendre une =C3=A2me vulgaire. =E2=80=94=E2=80=89Antoine de Saint-Exup=C3=A9ry, Ciudadela (1948)

Esto codifica la siguiente cita:

J'interdis aux marchands de vanter trop leurs marchandises. Car ils se font vite pédagogues et t'enseignent comme but ce qui n'est par essence qu'un moyen, et te trompant ainsi sur la route à suivre les voilà bientôt qui te dégradant, car si leur musique est vulgaire ils te fabriquent pour te la vendre une âme vulgaire.

—  Antoine de Saint-Exupéry , Ciudadela (1948)

Ver también

Notas

  1. ^ Esto implica que se utiliza una codificación compatible con ASCII. Por supuesto , un texto codificado con QP, por ejemplo en EBCDIC, no sería legible.
  2. ^ Extensiones multipropósito de correo de Internet (MIME), primera parte: formato de los cuerpos de los mensajes de Internet. Noviembre de 1996. RFC 2045 # 6.7 Codificación de transferencia de contenido imprimible entre comillas, parte "(4) (saltos de línea)". Consultado el 18 de marzo de 2013.

enlaces externos