0

C#コードで動的にバイトを生成するにはどうすればよいですか?

以下のようにフォーマットします:

最初のバイトは標準88、2番目のバイトは残りのバイト数、最後のバイトは残りのバイトです。

例:

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);

他の方法でデータバイトを作成する場合、コードの最初の部分は同じであり、最初の2バイトと同じ方法で配列の残りの部分にデータを配置するだけです。たとえば、5つのゼロバイト:

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 に答える