Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何解码电子邮件主题_C_Email_Glibc_Libiconv - Fatal编程技术网

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解码结果不包括这些字符,是否相关?主题与邮件正文的转换方式是否不同?