0

如何在 C# 代码中动态生成字节?

格式如下:

第一个字节是标准88,第二个字节是剩余字节数,最后一个是剩余字节数。

例子:

1 个字节:

byte[] bytes = new byte[] { 0x88, 0x01, 0};

2个字节:

byte[] bytes = new byte[] { 0x88, 0x02, 0, 0};

5 个字节:

byte[] bytes = new byte[] { 0x88, 0x05, 0, 0, 0, 0, 0};

谢谢你。

4

2 回答 2

3

只是这个:

    static byte[] Get(byte num)
    {
        byte[] a = new byte[num + 2];
        a[0] = 0x88;
        a[1] = num;
        return a;
    }

所有其他字节默认初始化为 0。

于 2013-01-09T02:52:27.767 回答
1

如果数组中有数据字节,则可以像这样动态创建数组:

// data bytes
byte[] data = { 1, 2, 3 };

byte[] buffer = new byte[data.Length + 2];
buffer[0] = 0x88;
buffer[1] = (byte)data.Length;
data.CopyTo(buffer, 2);

如果您以其他方式创建数据字节,则代码的第一部分是相同的,那么只需将数据以与前两个字节相同的方式放入数组的其余部分。例如五个零字节:

int len = 5;

byte[] buffer = new byte[len + 2];
buffer[0] = 0x88;
buffer[1] = (byte)len;
for (int i = 0; i < len; i++) {
  buffer[i + 2] = 0;
}
于 2013-01-09T02:52:20.560 回答