복붙노트

[PYTHON] "Quoted-printable"인코딩을 "utf-8"로 변경하십시오.

PYTHON

"Quoted-printable"인코딩을 "utf-8"로 변경하십시오.

imaplib로 이메일을 읽으려고합니다. 나는이 메일 본문을 얻는다 :

=C4=EE=E1=F0=FB=E9 =E4=E5=ED=FC!  

이는 Quoted-printable 인코딩입니다. 나는 이것으로부터 utf-8을 얻을 필요가있다. Добрый день이어야합니다!

나는 그것을 봤지만, Python 버전에서는 너무 지저분하다. 파이썬 3에서는 이미 유니 코드입니다. 여기서는 .encode ( 'utf-8')를 사용할 수 없습니다.

이것을 utf-8로 어떻게 바꿀 수 있습니까?

해결법

  1. ==============================

    1.quopri 모듈은 이러한 바이트를 인코딩되지 않은 바이트 스트림으로 변환 할 수 있습니다. 그런 다음 해당 문자 세트의 문자를 해독 한 다음 utf-8로 다시 인코딩해야합니다.

    quopri 모듈은 이러한 바이트를 인코딩되지 않은 바이트 스트림으로 변환 할 수 있습니다. 그런 다음 해당 문자 세트의 문자를 해독 한 다음 utf-8로 다시 인코딩해야합니다.

    >>> b = quopri.decodestring('=C4=EE=E1=F0=FB=E9 =E4=E5=ED=FC')
    >>> print(b.decode('windows-1251'))
    Добрый день
    
  2. from https://stackoverflow.com/questions/14249288/change-quoted-printable-encoding-to-utf-8 by cc-by-sa and MIT license