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

时间:2011-09-02 12:52:22

标签: c++ email unicode codepages

我有一个电子邮件正文(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。)

1 个答案:

答案 0 :(得分:4)

此格式称为encoded-word,由RFC 2047定义。表单为=?<charset>?<Q or B>?<encoded data>?=,其中数据被编码为base-64(B)或类似于quoted-printable(Q)但不完全的(因为_表示空格)。

Some example C ++解码器会将您带到一个字节字符串。然后,您必须使用charset进行解码才能获得Unicode字符串。