读/写POP3数据

时间:2011-02-07 13:18:35

标签: c# character-encoding pop3

我正在从POP3服务器接收数据,最初我使用StreamWriter将数据(作为文本)写入磁盘上的文件,但是使用这种方法,某些字符无法解码。如果我使用BinaryWriter和BinaryWriter.Write(Byte [])方法,一切都很好。据我所知,StreamWriter使用指定的编码写入文本字符(某些字节可以在整个过程中修改),而BinaryWriter将原始字节写入文件,是吗?

2 个答案:

答案 0 :(得分:1)

如果你有字节要开始并希望将它们转移到文件中,我建议不要使用BinaryWriter StreamWriter - 只需使用Stream(例如FileStream)。当您想要将基元等写入流时,BinaryWriter非常有用 - 但如果您只想转储一系列字节,Stream会执行您想要的所有操作。您肯定不应使用StreamWriter来传输不透明的二进制内容;将文本视为文本,将二进制数据视为二进制数据,并且只有当您确定要执行的操作时才会在两者之间进行转换(例如,二进制数据实际特定编码中的文本)

答案 1 :(得分:0)

您能告诉我们您如何打开指定编码的StreamWriter。我相信你应该在那里使用正确的编码,你现在使用的编码可能是错误的。