从 MIME 消息创建文件

Create file from MIME message

我想从多部分 MIME 消息的附件创建文件。我可以检索我需要的信息,而且创作本身也不是问题。我挣扎的是,对于给定的 headers 和正文,我不确定应该使用什么编码来创建文件。

假设我们有附件:

//HEADER    
Content-Type: application/pdf;
         name="somepdf.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
         filename="somepdf.pdf"
//BODY
 %PDF-1.4
    7 0 obj <</Length1 1501 /Length2 7274 /Length3 0 /Length 8281 /Filter /FlateDecode>>
    .. 
    ..


//HEADER
Content-Type: text/x-tex; charset=UTF-8;
     name="sometex.tex"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
     filename="sometex.tex"

//BODY
    \documentclass[a4paper, 12pt]{article}
    \usepackage[german,english]{babel}
    \usepackage{fullpage, graphicx}
    ..
    ..

如果我想创建一个包含这些信息的文件,我应该如何选择文件的编码?如果我只取 pdf 的 body,例如并直接使用它来编写 pdf 文件,结果导致 pdf 不可读,因为编码错误。相应文件的正确编码是什么?我正在 android 上使用 kotlin 进行此操作,如果您有一些关于如何执行此操作的其他提示

解析电子邮件很难。有一系列不同的编码方法、字符集,在电子邮件中看到边缘情况和嵌套多部分内容是很常见的。

尝试仅提取正文部分不会涵盖编码方法,每种方法都不相同,并且需要了解电子邮件的 RFC 标准(例如 RFC 5322、2822、822)。