电子邮件客户端使用哪种字符编码来对日语字符进行编码?

Which charcter encoding is used by email client to encode Japanese characters?

我正在分析 MIME 中使用的字符集以组合多个字符集。

为此将示例电子邮件写为:

This is sample test email 精巣日本 dsdsadsadsads

自动转换为:

This is sample test email 精巣日本 dsdsadsadsads

我想知道,这些字符是用什么字符集编码的? 是否可以在 C 中使用该字符集编码?

电子邮件客户端:Postfix 网络邮件

MIME 的目的是允许支持任意内容类型和编码。只要内容在 MIME headers 中被充分标记,您就可以使用您认为合适的任何编码。您的用例没有单一的正确编码;尽管在当今时代,迄今为止最简单的解决方案是对所有内容使用 Unicode。

在 MIME 术语中,您将使用 Content-Type: text/plain; charset="utf-8" 之类的内容,然后相应地对 body 文本进行编码。如果您需要电子邮件是 7 位安全的,您可以在顶部使用 quoted-printable 或 base64 content-trasfer 编码,但任何现代 MIME 库都应该为您处理这个细节。

您在实验中观察到的 HTML 个实体不适合 plain-text 电子邮件,尽管它们是 pure-HTML 电子邮件的可行替代方案。 (如果您的网络邮件客户端在纯文本电子邮件中使用了它们,则它存在错误;只有在发件人和收件人都具有相同错误的情况下它才会起作用。)

传统上,日语电子邮件会使用一种传统的日语编码,例如 Shift_JIS or ISO-2022-JP. These have reasonable support for English, but generalize poorly to properly multilingual text (though ISO-2022 以某种方式支持它)。相比之下,使用 Unicode,将日文与例如波斯语、乌兹别克语和土耳其语简单明了。

从 C 使用 UTF-8 很简单,而且基本上是透明的。参见例如http://utf8everywhere.org/ 一些起点。