c++ - 解码电子邮件的有趣 ISO 编码

标签 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。)

最佳答案

此格式称为 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/

相关文章:

c++ - 获取硬盘盘符

c++ - 从 switch 语句调用函数我缺少什么?

java - playframework java 异步方法调用

c++ - 如何以编程方式发送电子邮件,就像我在 Windows 资源管理器中发送 "Send To Mail Recipient"一样?

c++ - 改变数组元素的值

c++ - boost::mpl::vector - 获取类型的基本偏移量

ios - 继续并快速发送电子邮件

组合拉丁文小写字母 C 的 Unicode 字符

perl - 音译成 ASCII 时遇到问题

linux - 在 shell 中打印非 ascii/unicode 字符