我有一个电子邮件正文(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) 但不完全一样的内容(因为 _
表示空格)。
Some example C++ 解码器将为您提供一个字节字符串。然后,您必须使用字符集进行解码才能获取 Unicode 字符串。
关于c++ - 解码电子邮件的有趣 ISO 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7283670/