ToBase64String,C#3.5

时间:2011-08-21 09:49:03

标签: c#-3.0 zipfile

zip 文件转换为base64编码字符串时,发送带有MIME支持的邮件需要使用

var encodedContent = Convert.ToBase64String(Encoding.ASCII.GetBytes(File.ReadAllText(zipFilePath)));

然而,我收到的所有附件都已损坏。似乎base64编码不正确。任何人都可以就此提出建议。

1 个答案:

答案 0 :(得分:1)

File.ReadAllText旨在读取文本,因此应用编码(并且that重载应用启发式来确定编码)。这就是为什么你需要“解码”来获取字节的原因。

以这种方式应用不同的编码可能会导致字节流发生变化(这就是编码点)。

最好直接从文件中读取字节,例如File.ReadAllBytes,可以直接传递给ToBase64String