与使用StreamReader/Filestream
相反,我想从文件中读取二进制数据,并在文本框中显示数据(格式化)。
答案 0 :(得分:7)
二进制数据如同可能不可打印的数据一样?好吧,如果您想以十六进制字符串形式打印数据,请将数据作为字节数组,然后转换为十六进制表示。
string path = @"path\to\my\file";
byte[] data = File.ReadAllBytes(path);
string dataString = String.Concat(data.Select(b => b.ToString("x2")));
textBox.Text = dataString;
答案 1 :(得分:4)
当需要读取二进制文件时,有不同的情况,因为目前还不清楚你真正想要实现的是:
答案 2 :(得分:3)
使用BinaryReader读取文件。然后编码以base64格式从文件读取的字节数组,并在文本框中分配base64编码的字符串
更新:
从文件读取的字节数组可以在分配给文本框进行显示之前以各种文本编码进行编码。请查看.net类中与字符编码格式相关的以下命名空间:
在进行从字节数组到编码字符串的任何转换之前,请确保您知道目标文件的确切编码。或者您可以检查文件BOM字节。
更新(2):
请注意,您无法使用任何System.Text类转换非文本文件(例如图像文件,音乐文件)。否则,您无需在文本框中显示。