1

我正在使用下面的代码来创建一个Binary文件。

var a = new[]
{
    "C50-12-25",
    "C50-12-20"
};

using (var bw = new BinaryWriter(File.Open("file.bin", FileMode.Create)))
{
    foreach (var i in a)
    {
        bw.Write(i);
    }
}

我打开了文件,但没有看到类似于我一直认为Binary文件看起来像这样的图片的东西。

http://www.dotnetperls.com/binary.png

我实际上能够阅读我写的完整文本。

C50-12-25   C50-12-20

是这样吗?我对此完全陌生,因此任何帮助我指出正确方向的帮助对我来说都是很多的。

4

1 回答 1

3

你使用的重载Write: BinaryWriter.Write(String),使用编码写出你提供给文件的字符串。

看起来您想通过将这些字符串解码为十六进制值来将它们转换为二进制数据......除了它们看起来不像十六进制值,因为它们不是以 2 为一组。无论如何,此过程记录在此处(如何将十六进制字符串转换为字节数组?)。

请注意,您发布的“图片”是十六进制编辑器。您没有在帖子中描述您是如何打开文件的;如果您在记事本或类似编辑器中打开文件,那么您将始终得到打印字符,而不是文件内容的十六进制表示。

于 2014-03-30T07:44:45.223 回答