我收到的邮件中有一个字编码的字符串。在分析Python3中的编码字时,我遇到了一个异常
'gb2312' codec can't decode bytes in position 18-19: illegal multibyte sequence
从生成头方法引发。在
from email.header import decode_header, make_header
hdr = decode_header("""=?gb2312?B?QSBWIM34IMXMILP2IMrbICAgqEMgs8kgyMsg?=""")
make_header(hdr)
在联机工具中解析编码字符串没有问题(http://dogmamix.com/MimeHeadersDecoder/)。 有什么建议我做错了什么?谢谢
错误消息告诉您,位置18-19中的字节对于此编码无效。在
decode_header
只提取一组字节和一个编码。make_header
实际上尝试在该编码中解释这些字节,但失败了,因为这些字节在该编码中无效。在同样
因此,错误消息只是告诉您此数据无效。如果没有更多的信息,我们无法判断数据应该是什么,Python或您的程序也无法做到这一点。在
对于一个粗略的比喻,你可以??哪个b?是吗?s是m?党卫军?在这里,但不在?h??我呢?不合格??s???e???。在
相关问题 更多 >
编程相关推荐