解码有趣的ISO编码的电子邮件消息

Decode funny ISO encoding of e-mail message

本文关键字:电子邮件 消息 编码 ISO 解码      更新时间:2023-10-16

我有一个电子邮件正文(char[]缓冲区,通过POP3检索),它显然使用了一些ISO代码页的标记,例如像

这样的主题
Daß ißt ään schlümmer Test

被编码为

=?iso-8859-1?Q?Da=DF_i=DFt_=E4=E4n_schl=FCmmer_TDest

是否有任何预先制作的我可以用来把它变成一个(可读的)CStringW?

(环境:Win32, c++, VC2008.)

这种格式称为encoded-word,由RFC 2047定义。格式为=?<charset>?<Q or B>?<encoded data>?=,其中数据被编码为base-64 (B)或看起来像引号可打印(Q)但不完全是(因为_表示空格)。

一些c++解码器示例可以得到字节字符串。然后,您必须使用字符集进行解码以获得Unicode字符串。