【发布时间】:2014-04-10 10:55:31
【问题描述】:
我尝试将byte array 写入txt file,结果是乱码而不是我的字节
这是我的功能:
public bool ByteArrayToFile(string _FileName, byte[] _ByteArray)
{
try
{
// Open file for reading
System.IO.FileStream _FileStream =
new System.IO.FileStream(_FileName, System.IO.FileMode.Create,
System.IO.FileAccess.Write);
// Writes a block of bytes to this stream using data from
// a byte array.
_FileStream.Write(_ByteArray, 0, _ByteArray.Length);
// close file stream
_FileStream.Close();
return true;
}
catch (Exception _Exception)
{
// Error
Console.WriteLine("Exception caught in process: {0}",
_Exception.ToString());
}
// error occured, return false
return false;
}
结果:
"3DUf " E _Xu €ˆ
=2‡¬1p% n Kפ C
【问题讨论】:
-
您希望输出是什么样的?
-
如何生成
_ByteArray? -
另外,你的命名约定很奇怪,本地人应该是
camelCase,没有下划线。并且返回一个布尔值来表示成功/失败在.Net中也是不受欢迎的。异常应该是用来指示失败的方法。我只会删除那个 try/catch - 让任何错误冒泡,直到你可以真正有意义地处理它,即使这只是一个记录它并退出的顶级处理程序。 -
你的代码是正确的,向我们展示
_ByteArray变量内容。 -
这个内容是来自 PcapDotNet 项目的数据包字节[] (packet.buffer return byte[])