在控制器中接收原始二进制数据流并组合每2个字节

时间:2018-03-06 14:26:09

标签: c# asp.net-web-api

我计划将原始二进制数据从GSM模块发送到Web API控制器。我正在模拟用Fiddler发送数据。数据格式是8字节,例如

0x18 0x01 0x1B 0x02 0x12 0x10 0x2D 0x0A

Fiddler simulation

我在控制器上以16字节数组接收数据:

Data received web API

数据看起来是正确的:

字节0 = 49(Ascii char 1)(二进制0011 0001)

字节1 = 56(Ascii char 8)(二进制0011 1000)

我需要将这两个字节组合起来创建一个0x18(二进制0001 1000)的单字节

查看二进制值,看起来我需要将字节0移位4位,然后使用带字节1的运算符?

如果有人能帮忙的话,我有点卡住了。

谢谢

1 个答案:

答案 0 :(得分:0)

使用位运算符:

    byte a = 49; 
    byte b = 56; 
    a <<= 4;
    b <<= 4;
    b >>= 4;
    byte result = (byte)(b + a);

    Console.WriteLine("{0}", result);