从字节数组中检索16位大端序值

本文关键字:16位 检索 字节 字节数 数组 | 更新日期: 2023-09-27 18:06:45

我有一个无符号16位整数,大端字节顺序:0x01f1,但它们在字节数组中如下:

    Array
  [0]  0x01
  [1]  0xf1 

我如何"连接"数组[0]与数组[1],这样我可以有我的值0x01f1回来?

从字节数组中检索16位大端序值

可以使用移位和位操作符组合两个数组元素,如下所示:

byte[] array = new byte[] { 0x01, 0xF1 };
int result = (array[0] << 8) | array[1];
// result == 0x01F1

使用左移操作符如下:

int myNum = a[0];
myNum = (myNum<<8);
myNum = myNum | a[1];