【问题标题】:what is the equivalent of ByteBuffer.wrap in dart?什么是 ByteBuffer.wrap 在飞镖中的等价物?
【发布时间】:2020-11-06 20:45:00
【问题描述】:

我有以下 sn-p 的代码要转换为 dart。

JAVA 代码

static final byte[] MESSAGE_M1_REQUEST = new byte[]{(int) 1, (int) 2, (int) 3, (int) 4};
ByteBuffer bf =   ByteBuffer.wrap(MESSAGE_M1_REQUEST);
int certLength = ByteBuffer.wrap(macIdBytes).getInt();

飞镖

在 Dart 中使用 Uint8List 而不是 byte[] 以及如何在 Uint8List 上执行 ByteBuffer.wrap 和使用 .getInt() ?

final Uint8List MESSAGE_M1_REQUEST = Uint8List.fromList([1, 2, 3, 4]);

【问题讨论】:

  • @jamesdlin 感谢您的回复,我尝试使用 Uint8List.buffer.asByteData().getInt32() 执行,但 java 和 dart 的输出不同。
  • 我试过这个,它给了我一个正确的结果。 MESSAGE_M1_REQUEST.buffer.asByteData().getInt32(0)

标签: dart byte uint8list


【解决方案1】:

根据文档: https://api.dart.dev/stable/1.24.3/dart-typed_data/ByteData-class.html

尝试过类似的方法并在 Java 和 Dart 中获得相同的输出。

MESSAGE_M1_REQUEST.buffer.asByteData().getInt32(0)

【讨论】:

  • 或:MESSAGE_M1_REQUEST.buffer.asInt32List()[0]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-19
  • 2014-05-08
  • 2014-06-12
  • 1970-01-01
  • 2022-11-28
  • 2020-08-31
相关资源
最近更新 更多