如何在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};
谢谢。
答案 0 :(得分:3)
就是这样:
static byte[] Get(byte num)
{
byte[] a = new byte[num + 2];
a[0] = 0x88;
a[1] = num;
return a;
}
所有其他字节默认初始化为0。
答案 1 :(得分: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;
}