解码具有特殊字符的 7 位内容传输编码消息

Decoding 7Bit content-transfer-encoding messages with special characters

我有一个案例,我的代码正在接收其内容传输编码设置为 7 位的电子邮件消息(pop3,多部分)。问题是语言(来自自动系统)是挪威语。挪威语具有三个特殊字符 (ÆØÅ/æøå)。所以当我收到消息时,我可以得到这样的话: &N?D?PNER ALARM (ÅPNER ALARM) 和 kj?kkenomr?de (kjøkkenområde)。 有关字符的信息是否丢失,或者可以通过某种方式对其进行解码?

这些词出现在哪里?在 headers 或消息 body?

如果您使用像 MailKit 这样的库,这将在消息正文中自动为您正确处理,即使它在 headers 中,也可以通过指定回退字符集到解析器。

如果您使用的是另一个库,那您可能就不走运了(我看过的大多数库在这方面都非常糟糕)。