在Dart中将十六进制列表转换为整数数组



我希望将十六进制列表转换为Dart中的整数数组。在Kotlin中也是这样做的,如下所示。

private val METHOD_TRANSFORM = byteArrayOf(0xA1.toByte(), 0x2E.toByte(), 0x38.toByte(), 0xD4.toByte(), 0x89.toByte())

然而,我对实现它的正确方法感到困惑。从我阅读这篇文章的理解:https://medium.com/flutter-community/working-with-bytes-in-dart-6ece83455721我可以通过使用int myInt = int.parse('hex', radix: 16);方法将单个十六进制代码转换为整数。

我的第一个问题是我如何做到这一点在Dart的整个列表没有复制和粘贴相同的代码多次为每个十六进制代码?

其次,Kotlin中的0xA1.toByte()方法将十六进制代码转换为有符号整数。将十六进制代码转换成一个未分配的整数,而不是一个Uint8List数组有什么不同?

提前感谢!

您可以使用map方法修改或映射列表中的每个值:

final foo = <String>['0xffba'];
final bar = foo.map((item) => int.parse(item, radix: 16)).toList(); 

最新更新