结合一组Uint8List

时间:2019-01-16 16:41:24

标签: dart

我正在构建一堆Uint8List(大小不同,现在将它们存储在通用列表中),并且需要在将其发送到网络套接字之前对其进行组合/连接。

什么是最好的方法?

虽然我将它们合并到一个新的Uint8List中,但是由于合并后不再需要字节访问,因此我可以使用其他List<int>实现...?

谢谢。

2 个答案:

答案 0 :(得分:2)

使用 BytesBuilder 似乎是在 Dart 中连接 Uint8List 的最有效方法:

  var b = BytesBuilder();
  var l1 = Uint8List(4);
  var l2 = Uint8List(4);
  b.add(l1);
  b.add(l2);
  var ll = b.toBytes();

答案 1 :(得分:0)

Uint8List实现List<int>。您可以将它们合并为新的List<int>,然后使用

创建新的Uint8List
List<List<int>> myByteLists = ...;
var bytes = Uint8List.fromList(myByteList.expand((x) => x).toList());