C 如何解码电子邮件主题
分析邮件标题中的主题时出现问题。 例如,主题的形式如下C 如何解码电子邮件主题,c,email,glibc,libiconv,C,Email,Glibc,Libiconv,分析邮件标题中的主题时出现问题。 例如,主题的形式如下 subject: =?iso-2022-KR?B?DjlMOC4PIA....gyDzogT?= 我猜base64解码应该包括转义字符-SO,SI,ESC$)C。然而,不包括解码。 我怎样才能得到一个普通的字符串 我希望结果如下 Subject: like this, 안녕하세요. 请给我一个如何在代码级别响应的提示在C中 更新 对不起。我有一个,所以,是的,但我错过了。但是没有ESC$)C,问题立即得到解决,并为其他人共享 在没有ES
subject: =?iso-2022-KR?B?DjlMOC4PIA....gyDzogT?=
我猜base64解码应该包括转义字符-SO,SI,ESC$)C。然而,不包括解码。
我怎样才能得到一个普通的字符串
我希望结果如下
Subject: like this, 안녕하세요.
请给我一个如何在代码级别响应的提示在C中
更新
对不起。我有一个,所以,是的,但我错过了。但是没有ESC$)C,问题立即得到解决,并为其他人共享
在没有ESC$)C的情况下,libiconv是个问题,但gconv(在glibc中)不是问题。我用的是libiconv。改用gconv解决了这个问题
谢谢。所以在
=?iso-2022-KR?B?DjlMOC4PIA…gyDzogT?=
中,用问号夹住的B
表示base64编码。iso-2022-KR
是字符集。DjlMOC4PIA….gyDzogT
是base64编码的标题
您首先要解码标题。很容易找到
这将给您留下一个二进制字节数组,它是字符集中编码的标题。您可能想将其转换为UTF-8或计算机可以处理的其他字符集。此部分的最佳选择是使用字符集转换实用程序。如果您使用的是Linux或macOS,则可以使用
iconv
库。请参阅,iconv_关闭。表单为:=?字符集?编码?编码文本?=。
编码可以是Q
表示类似于引用的可打印编码的Q编码,也可以是B
表示base64编码。若要获得更多建议,最好提供迄今为止的代码和输出。谢谢,但是关于转换的大部分内容是已知的。我只是想知道它是如何处理iso-200-KR的。谢谢。我已经完成了base64解码,并通过iconv进行了转换。但是,base64解码的结果是相同的英语输出,而不是韩语输出,即使在转换为字符集时也是如此。在邮件正文中,需要包含特殊字符来转换iso-2022-kr-SO、SI、ESC$)C-。但是,base64解码结果不包括这些字符,是否相关?主题与邮件正文的转换方式是否不同?