Citado-imprimible

Codificación de binario a texto

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, en general, a través de un medio que no es limpio de 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 era limpio de 8 bits; sin embargo, los servidores SMTP modernos en la mayoría de los casos son limpios de 8 bits y admiten extensiones. También se puede utilizar con datos que contienen octetos8BITMIME no permitidos o longitudes de línea que exceden los límites de SMTP. Se define como una codificación de transferencia de contenido MIME para su uso en correo electrónico .

QP funciona utilizando el signo igual =como carácter de escape . También limita la longitud de línea a 76, ya que algunos programas tienen límites en la longitud de 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 deben codificarse más antes de que sean adecuadas para su uso en un entorno que no sea limpio de 8 bits. La codificación Quoted-Printable es un método utilizado para mapear bytes arbitrarios en 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 lo 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 genera un resultado codificado bastante legible [1] y compacto. Por otro lado, si la entrada tiene muchos caracteres de 8 bits, Quoted-Printable se vuelve ilegible y extremadamente ineficiente. Base64 no es legible para 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 puede codificarse con 3 caracteres: un =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 página ASCII (valor decimal 12) puede representarse con =0C, y un signo igual ASCII (valor decimal 61) debe representarse 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, se deben escapar como =09(tabulador) 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 el tabulador 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, se deben codificar como una secuencia ASCII CR LF, no como sus valores de byte originales, ni directamente ni mediante =signos. Por el contrario, si los valores de byte 13 y 10 tienen significados distintos del fin de línea (en tipos de medios, [2] por ejemplo), entonces se deben codificar como =0Dy =0Arespectivamente.

Las líneas de datos codificados Quoted-Printable no deben tener más de 76 caracteres. Para cumplir con 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 contengan 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 algún software SMTP , según lo permitido por RFC 2821.

Se utiliza una versión ligeramente modificada de Quoted-Printable en los encabezados de los mensajes; consulte MIME#Encoded-Word .

Ejemplo

El siguiente ejemplo es un texto en 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)

Véase 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 Quoted-Printable Content-Transfer-Encoding, parte "(4) (Line Breaks)". Consultado el 18 de marzo de 2013.
  • RFC  1521 (obsoleto)
  • RFC  2045 (MIME)
    • RFC 2045 — 6.7. Codificación de transferencia de contenido imprimible entre comillas
Obtenido de "https://es.wikipedia.org/w/index.php?title=Cita-imprimible&oldid=1179422121"