1001Ferramentas
✉️Conversores

Quoted-Printable

Codifique e decodifique texto em Quoted-Printable (RFC 2045), o formato usado em e-mails para representar acentos e caracteres especiais em ASCII.

QP

Ver como o acento fica no corpo do e-mail

Você está montando ou depurando uma mensagem e precisa saber como um texto com acento aparece na versão crua do e-mail, aquela em que olá vira ol=C3=A1. Quoted-Printable é o encoding que faz isso: mantém legível quase tudo que já é ASCII e escapa o resto. Digite a frase no campo e a versão codificada aparece embaixo, atualizando a cada tecla. A página faz apenas esse sentido, texto para código: não há campo de decodificação.

O caminho é sempre o mesmo. O texto é convertido para bytes em UTF-8; cada byte que já é ASCII imprimível, do ponto de exclamação ao til, sai como está, o espaço sai como espaço, e todo o resto vira o sinal de igual seguido de dois dígitos hexadecimais maiúsculos. Como o igual é o próprio caractere de escape, ele sempre sai como =3D. Tabulação vira =09. É por isso que a letra a com acento agudo ocupa dois pares, =C3=A1: são dois bytes em UTF-8.

Dois limites para ter em mente. O campo aceita uma linha só, e a saída não aplica a quebra em setenta e seis colunas com o igual de continuação que a RFC 2045 exige, então não use isso para gerar o corpo inteiro de uma mensagem longa. Espaço no fim da linha, que a norma manda codificar como =20, sai literal aqui. Para textos grandes, prefira a biblioteca do seu stack, como o quopri do Python. Para conferir um trecho curto funciona bem, e tudo roda no navegador.

Perguntas frequentes

Dá para decodificar Quoted-Printable nesta página?
Não. Ela converte apenas texto para Quoted-Printable. Para o caminho inverso, use quopri.decodestring no Python, quoted_printable_decode no PHP ou o visualizador de fonte do seu cliente de e-mail.
Por que o a acentuado vira =C3=A1 e não =E1?
Porque a codificação parte de UTF-8, onde essa letra ocupa dois bytes. Em Latin-1 ela seria um byte só e sairia =E1. É por isso que o charset declarado no cabeçalho muda tudo.
Serve para o assunto da mensagem?
Só em parte. Cabeçalhos usam o formato encoded-word, com regras extras, como representar o espaço por underline. A saída daqui corresponde ao corpo, não ao cabeçalho.

Ferramentas Relacionadas