将 string/int 列表中的 binary/hexadecimal 值写入 .bin 文件

Write binary/hexadecimal value into .bin file from list of string/int

我想将一长串二进制数从列表写入二进制文件。现在的列表都是十六进制数。我下面的代码没有像案例 1 那样给出我想要的,而是输出案例 2。请帮忙。

案例一:我需要的是一个二进制文件- 1A0F83.....

情况 2:但不是 - 314130463833.....

List<string> list = new List<string>(new string[]{"1A", "0F", "83" }); 

using (var s = File.Open("test.bin", FileMode.Create))
{
    var tw = new BinaryWriter(s);                

    foreach (string i in list) // Loop through all strings
    {               
        tw.Write(i);    
    }                             
}

如果你想将单个字节序列写入二进制文件,那么只需一次写入一个 byte(而不是 4 个字节大小的 int)并更改下一行

tw.Write(i);

对此:

tw.Write((byte)i);

或者,如果您想稍微清理一下代码,提高较长序列的性能并使其也可编译,您可以使用这个:

var list = new List<byte> { 0x1A, 0x0F, 0x83 }.ToArray();

using (var s = File.Open("test.bin", FileMode.Create))
using (var tw = new BinaryWriter(s))
    tw.Write(list);