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

Raf*_*ura 7 .net c# binary file binarywriter

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

  • 当值<= 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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

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

01 02 7F 80
Run Code Online (Sandbox Code Playgroud)

但我得到的是:

01 02 7F D0 90
Run Code Online (Sandbox Code Playgroud)

关于什么事情的任何线索?

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

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

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

Raf*_*ura 0

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

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