Flutter Dart将两个Uint8转换为Uint16,它们是小端点

Flutter Dart将两个Uint8转换为Uint16,它们是小端点,flutter,dart,bluetooth-lowenergy,Flutter,Dart,Bluetooth Lowenergy,我是dart新手,但我需要获取两个Uint8(蓝牙响应的一部分)并将其转换为单个Uint16。它们也是小尾端(LSB),因此第二个值需要移位8字节。我正在为如何在Dart中做到这一点而挣扎 我尝试过类似的方法,但由于值太高,所以无法接近 var list = new Uint8List(2); list[0] = 56; list[1] = 55; int intValue = list[0] + (list[1] << 8); Uint16 int16Value = Uint16(

我是dart新手,但我需要获取两个Uint8(蓝牙响应的一部分)并将其转换为单个Uint16。它们也是小尾端(LSB),因此第二个值需要移位8字节。我正在为如何在Dart中做到这一点而挣扎

我尝试过类似的方法,但由于值太高,所以无法接近

var list = new Uint8List(2);
list[0] = 56;
list[1] = 55;
int intValue = list[0] + (list[1] << 8);
Uint16 int16Value = Uint16(intValue);
print(int16Value);
var列表=新的Uint8List(2);
列表[0]=56;
列表[1]=55;

int intValue=list[0]+(list[1]您可以从列表中获取
ByteData
,并且
ByteData
具有各种各样的函数,用于更改尾数和获取不同的整数类型,等等

var data=list.buffer.asByteData();
打印(data.getUint16(0,Endian.little));