BinaryWriter.Write(字节值)在值>;127

本文关键字:gt 在值 Write 字节 BinaryWriter | 更新日期: 2023-09-27 18:24:13

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

  • 当值为<=127,一切都好
  • 但是,如果一个字节大于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。

BinaryWriter.Write(字节值)在值>;127

已解决,从未出现任何问题。

Notepad++Hex Editor是个问题,它显示了不正确的数据(不知道为什么,不过,我希望它只是显示原始数据)。