用于python2.7或python3的Python电子邮件标头解码器在编码文本和未编码文本之间切换时似乎有一些奇怪的行为。
kafka_topics.sh
这是结果
from email.header import decode_header
print decode_header("=?ISO-8859-1?B?QA==?=example.com");
print decode_header("=?ISO-8859-1?B?QA==?= example.com");
print decode_header("=?ISO-8859-1?Q?=40example?= .com");
print decode_header("=?ISO-8859-1?Q?=40example?=.com");
在所有示例输入中,编码文本只是@符号,应正确解释,但不能正确解释。我认为RFC 1342的解释对我来说似乎不正确。 Python期望空格或换行符是编码文本的结尾。我在RFC中看不到这一点,RFC仅表示在我阅读时多个编码文本之间需要空间,而不是在编码文本和未编码部分之间需要空间。因此,每当看到“?=”时,都需要将其视为编码文本的末尾,而python则不会。我想问专家,这是一个错误还是我弄错了?
维杰