Dart 将int转换为两个十六进制字节?
上下文:我正在为建筑LED矩阵设计一个照明协议转换器,需要以一种非常特殊的方式对字节字符串进行编码,以便我的硬件能够识别标题 问:我如何将一个int转换成两个字节,这样我就可以分别使用它们了 例如: 我想皈依Dart 将int转换为两个十六进制字节?,dart,Dart,上下文:我正在为建筑LED矩阵设计一个照明协议转换器,需要以一种非常特殊的方式对字节字符串进行编码,以便我的硬件能够识别标题 问:我如何将一个int转换成两个字节,这样我就可以分别使用它们了 例如: 我想皈依 var aDynamicValue = 511 //where value will range from 0-511 到如下列表:[0x01,0xFF] 这样我就可以 <BytesBuilder> magicString.add(--the bytes above--)
var aDynamicValue = 511 //where value will range from 0-511
到如下列表:[0x01,0xFF]
这样我就可以
<BytesBuilder> magicString.add(--the bytes above--)
magicString.add(--上面的字节--)
谢谢将位移位与逻辑
和
一起使用,以屏蔽除前8位以外的所有位。伪代码:
a = 511;
byte1 = a & 0xff;
byte2 = (a >> 8) & 0xff;
将位移位与逻辑
和一起使用,以屏蔽除前8位以外的所有位。伪代码:
a = 511;
byte1 = a & 0xff;
byte2 = (a >> 8) & 0xff;
键入的_数据和int.toRadixString(16)
可用于从整数中获取十六进制:
final list = new Uint64List.fromList([511]);
final bytes = new Uint8List.view(list.buffer);
final result = bytes.map((b) => '0x${b.toRadixString(16).padLeft(2, '0')}');
print('bytes: ${result}');
键入的_数据和int.toRadixString(16)
可用于从整数中获取十六进制:
final list = new Uint64List.fromList([511]);
final bytes = new Uint8List.view(list.buffer);
final result = bytes.map((b) => '0x${b.toRadixString(16).padLeft(2, '0')}');
print('bytes: ${result}');