Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 将int转换为两个十六进制字节?_Dart - Fatal编程技术网

Dart 将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--)

上下文:我正在为建筑LED矩阵设计一个照明协议转换器,需要以一种非常特殊的方式对字节字符串进行编码,以便我的硬件能够识别标题

问:我如何将一个int转换成两个字节,这样我就可以分别使用它们了

例如:

我想皈依

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