gpt4 book ai didi

dart - 如何切片ByteBuffer

转载 作者:行者123 更新时间:2023-12-03 04:20:55 30 4
gpt4 key购买 nike

Dart的 ByteBuffer ByteData 分别是Javascript的 ArrayBuffer DataView 的非常直接的副本(但名称更加困惑!)
但是似乎没有ArrayBuffer.slice()的等效项,它创建了ArrayBuffer的一部分的副本。我想念吗?这是故意还是遗漏?

最佳答案

您可以复制ByteBuffer的一部分,尽管该过程可能有些麻烦:
您可以使用 Uint8List.view 来创建Uint8ListByteBuffer View (即不是副本)。从那里,您可以使用其 sublist 方法将其一部分复制到新的Uint8List,然后访问其 buffer 属性以获取ByteBuffer
换一种说法:

ByteBuffer slice = Uint8List.view(byteBuffer).sublist(start, end).buffer;
Uint8List获取 ByteBuffer View 然后创建副本的另一种方法:
ByteBuffer slice = Uint8List.fromList(byteBuffer.asUint8List(start, end)).buffer;
在实践中,我认为这通常并不像看起来那样糟糕,因为通常无论如何,您都将从 Uint8List开始。

关于dart - 如何切片ByteBuffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62646339/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com