当值> gt时,BinaryWriter.Write(字节值)问题127

时间:2015-11-25 13:34:09

标签: c# .net file binary binarywriter

我正在将原始字节值写入文件:

  • 当值<= 127时,一切正常。
  • 但如果一个字节是&gt; 127,它搞得一团糟。

我已经尝试过更改编码格式等,但没有成功。

public static void Generate()
{
    var fileName = "Test.bin";

    if (File.Exists(fileName))
        File.Delete(fileName);

    using (var binaryWriter = new BinaryWriter(File.Open(fileName, FileMode.Create)))
    {
        var byteArray = new byte[] {0x01, 0x02, 0x7F, 0x80};

        foreach (var b in byteArray)
        {
            binaryWriter.Write(b);
        }
    }
}

在上面的代码中,生成的文件应为:

01 02 7F 80

但我得到的是:

01 02 7F D0 90

有关发生什么事的任何线索?

这是一个测试应用程序: http://pastebin.com/0Cfv3Snc

这是生成的文件: http://postimg.org/image/55un9lar1/

我不能在我的两台电脑上工作。在Windows 10上运行.NET 4.0。

1 个答案:

答案 0 :(得分:0)

解决了,从来没有任何问题。

记事本++十六进制编辑器是问题,它显示不正确的数据(不知道为什么,但我希望它只是显示原始数据)。