如何在dart中分配固定长度字符的缓冲区?

发布于 2025-01-19 02:44:52 字数 220 浏览 2 评论 0原文

我需要分配固定长度的 ASCII 字符缓冲区,因为我从远程设备以随机顺序接收 (index,7-char chunk) 元组。

在 C/C++ 中我会这样做:

char buffer[3*7+1];

memcpy(&buffer[indexOfTheChunk*7],incomingChunk,7);

我应该如何在 dart 中进行?

I need to allocate a buffer of ASCII characters of fixed length because I receive a (index,7-char chunk) tuples in random order from a distant device.

In C/C++ I would do:

char buffer[3*7+1];

memcpy(&buffer[indexOfTheChunk*7],incomingChunk,7);

How should I proceed in dart?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

此生挚爱伱 2025-01-26 02:44:52

您可以通过制作不可生长的list

var buffer = List<int>.filled(elementCount);

DART还提供 uint8list 专门用于创建8位字节的固定尺寸缓冲区的类。

如果您需要稍后从ASCII字节中提取DART 字符串,则可以调用 ascii.decode list&lt; int&lt; int&gt;/uint8list上。

You can create a fixed-size buffer by making a non-growable List:

var buffer = List<int>.filled(elementCount);

Dart also provides a Uint8List class specifically for creating fixed-size buffers of 8-bit bytes.

If you need to extract a Dart String from the ASCII bytes later, you can call ascii.decode on the List<int>/Uint8List.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文