Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法解码编码-Python和imaplib_Python_Encoding_Imap_Imaplib - Fatal编程技术网

无法解码编码-Python和imaplib

无法解码编码-Python和imaplib,python,encoding,imap,imaplib,Python,Encoding,Imap,Imaplib,我正在使用Python和imaplib从IMAP获取电子邮件。在这个特定的例子中,我对To:地址有一个问题 我提取编码到:字段,分离地址,然后尝试解码每个地址。我对这个特定字符串有问题。我使用Python decode_header函数对引用的可打印/Base64编码进行解码。我从编码的开始: '=?utf-8?b?vmfzy28gugf0csoty2lv?= <vasco.patricio.pessoal@gmail.com>' 我获得了一个UnicodeDecodeError:

我正在使用Python和imaplib从IMAP获取电子邮件。在这个特定的例子中,我对To:地址有一个问题

我提取编码到:字段,分离地址,然后尝试解码每个地址。我对这个特定字符串有问题。我使用Python decode_header函数对引用的可打印/Base64编码进行解码。我从编码的开始:

'=?utf-8?b?vmfzy28gugf0csoty2lv?= <vasco.patricio.pessoal@gmail.com>'
我获得了一个UnicodeDecodeError:

UnicodeDecodeError at /api/refresh/emails/
'utf8' codec can't decode byte 0xbe in position 0: invalid start byte
我确认尝试通过控制台对其进行解码会导致相同的异常

解码头不应该返回有效的可解码字符串及其编码吗


谢谢你

你在什么地方丢失了大写字母

正确的编码字符串是
=?utf-8?b?VmFzY28gUGF0csOtY2lv?=
。你的看起来是一样的,但都是小写的


由于Base64区分大小写(它使用26个小写字母、26个大写字母、10位数字和另外两个字符组成64个字母),因此小写当然会完全破坏它。

我明白了。实际上,由于字符串检测,我降低了大小写,例如,对于
to:
头,它可以是
to:
to:
,或任何排列。所以我把它放低以便于搜索。我从来没有想过它会破坏编码——我自己也永远不会明白这一点。感谢您的宝贵意见!
for part in decoded_parts:
    if part[1]:
        part_text = part[0].decode(part[1])
    else:
        part_text = part[0]
UnicodeDecodeError at /api/refresh/emails/
'utf8' codec can't decode byte 0xbe in position 0: invalid start byte