b'\n_START_ARTICLE_\nQuoted-printable\n_START_PARAGRAPH_\nQuoted-printable, o codificaci\xc3\xb3n QP, es una codificaci\xc3\xb3n que usa caracteres imprimibles (por ejemplo alfanum\xc3\xa9ricos y el signo de igualdad "=") para transmitir datos de 8 bit sobre un protocolo que solamente soporta 7 bit. Est\xc3\xa1 definido como un content transfer encoding de MIME para ser usado en mensajes de correo electr\xc3\xb3nico de Internet.\n_START_SECTION_\nIntroducci\xc3\xb3n\n_START_PARAGRAPH_\nEl protocolo b\xc3\xa1sico de transmisi\xc3\xb3n de mensajes en Internet, SMTP, solamente soporta caracteres ASCII (V\xc3\xa9ase tambi\xc3\xa9n 8BITMIME). MIME define mecanismos para enviar otros tipos de informaci\xc3\xb3n en un mensaje de correo electr\xc3\xb3nico, incluyendo texto en lenguajes que no sean Ingl\xc3\xa9s, utilizando codificaciones de caracteres diferentes a ASCII. Sin embargo, estas codificaciones frecuentemente usan valores de bytes fuera del rango de ASCII, por lo que necesitan ser codificados antes de que puedan ser utilizados en un mensaje. La codificaci\xc3\xb3n Quoted-printable es uno de los m\xc3\xa9todos usados para mapear (asignar) una secuencia arbitraria de bytes en caracteres ASCII. Esta codificaci\xc3\xb3n es reversible, lo que significa que los bytes originales y por tanto los caracteres no ASCII pueden ser recuperados._NEWLINE_Quoted-printable y Base64 son las dos codificaciones b\xc3\xa1sicas de MIME. Si el texto de entrada es mayoritariamente ASCII, el resultado de la codificaci\xc3\xb3n con quoted-printable es bastante legible y compacto. Por otra parte si la entrada consta mayormente de caracteres no ASCII entonces el resultado se convierte en m\xc3\xa1s ininteligible y extremadamente ineficiente. La codificaci\xc3\xb3n Base64, a diferencia de Quoted-printable, no es legible pero tiene una sobrecarga de ejecuci\xc3\xb3n predecible para cualesquiera que sean los datos y es la opci\xc3\xb3n m\xc3\xa1s recomendada para datos en formatos binario o texto en lenguajes no basados en el Lat\xc3\xadn.\n_START_SECTION_\nCodificaci\xc3\xb3n Quoted-printable\n_START_PARAGRAPH_\nCualquier octeto puede ser codificado con tres caracteres: Un signo "=" seguido por dos d\xc3\xadgitos hexadecimales (0\xe2\x80\x939 o A\xe2\x80\x93F) son suficientes para representar el valor num\xc3\xa9rico del octeto (byte). Por ejemplo, un car\xc3\xa1cter ASCII form feed (cuyo valor decimal es 12) puede ser representado por "=0C", y un signo de igualdad ASCII (cuyo valor decimal es 61) es representado por "=3D". Todos los caracteres con la excepci\xc3\xb3n de los caracteres ASCII imprimibles o el fin de l\xc3\xadnea deben ser codificados de una manera similar._NEWLINE_Todos los caracteres ASCII imprimibles, o sea los que tienen valores decimales entre 33 y 126, pueden ser representados por s\xc3\xad mismos, excepto "=" (de valor decimal 61)._NEWLINE_Los caracteres ASCII tabulaci\xc3\xb3n y espacio (con valores decimales 9 y 32 respectivamente), pueden representarse por s\xc3\xad mismos excepto que aparezcan al final de la l\xc3\xadnea. Si esto ocurriera deben ser codificados como "=09", para tabulaci\xc3\xb3n o "=20" para espacio._NEWLINE_Si los datos que se est\xc3\xa1n codificando contienen caracteres de retorno de l\xc3\xadnea y se quiere conservar este significado, deben ser codificados como una secuencia ASCII CR LF, no como sus valores de byte originales. Por el contrario si los bytes con valor 10 y 13 tienen significados diferentes a un retorno de l\xc3\xadnea deben ser codificados como =0A y =0D respectivamente. _NEWLINE_Las l\xc3\xadneas de datos codificados con quoted-printable no pueden tener m\xc3\xa1s de 76 caracteres como longitud. Para satisfacer este requerimiento sin alterar el texto codificado, se pueden agregar cambios de l\xc3\xadnea suaves seg\xc3\xban sea necesario. Un cambio de l\xc3\xadnea suave consiste en un "=" al final de la l\xc3\xadnea codificada, y no causa un cambio de l\xc3\xadnea en el texto decodificado.\n_START_SECTION_\nUn ejemplo program\xc3\xa1tico\n_START_PARAGRAPH_\nDebido a lo extendido del uso de esta codificaci\xc3\xb3n en Internet, tanto en correo electr\xc3\xb3nico como en el protocolo HTTP, muchas bibliotecas est\xc3\xa1ndares de muchos lenguajes incluyen soporte para codificar y decodificar Quoted-printable. A continuaci\xc3\xb3n se muestra un ejemplo escrito en Python_NEWLINE_>>> import quopri>>> texto = "Prueba de codificaci\xc3\xb3n QP!">>> textoCodificado = quopri.encodestring(texto)>>> textoCodificado\'Prueba de codificaci=C3=B3n QP!\'>>> quopri.decodestring(textoCodificado)\'Prueba de codificaci\xc3\xb3n QP!\''