我正在尝试显示文本文件中字节数组的内容。
这是我的代码:
var writer = new System.IO.StreamWriter(Application.StartupPath + @"\B323.txt");
writer.Write(data.ToString());
writer.Close();
writer.Dispose();
数据是一个byte[]数组。
输出是“System.Byte[]”,为什么?
我正在尝试显示这个数组的内容,问题出在哪里?
最佳答案
当您调用仅返回 System.Byte[]
的 byte[].ToString()
时。您打算如何转换字节数组?有多种方法可以将字节转换为字符串。
如果你想把它作为“十六进制转储”,你可以 BitConverter.ToString(byte[])
这将产生如下输出
5B-3E-5D
这就是你想要的吗?如果您实际上只想将字节写入文件,因为它们已经代表编码文本,那么您应该改用FileStream
并写入他们直接。
(其他要点作为旁白:您应该使用 using
语句来处理编写器;您不需要调用 close,因为您已经在处理;File.WriteAllText
是一种更简单的开始方式。)
关于c# - byte[] 到字符串的转换似乎没有按照我想要的方式工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/939344/