【问题标题】:Convert a hexadecimal list into an array of integers in Dart在 Dart 中将十六进制列表转换为整数数组
【发布时间】:2021-08-07 16:17:55
【问题描述】:

我希望在 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 数组有什么不同吗?

提前致谢!

【问题讨论】:

    标签: flutter kotlin dart


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2010-10-16
      • 1970-01-01
      • 2014-04-16
      • 2016-12-04
      • 1970-01-01
      • 2012-03-08
      相关资源
      最近更新 更多