将字节数组存储在 Flatbuffers 表中

发布于 2025-01-14 02:55:05 字数 440 浏览 1 评论 0原文

我正在尝试将字节数组存储在 Flatbuffers 表中,我认为架构应该是这样的:

table VoiceData { 
    compressed_data:[byte];
}

然后,在代码中我调用 CreateCompressedDataVector,但它只会采用类型的对象sbyte[] 而不是 byte[],所以我不知道如何进展。

这是完整的代码片段:

在此处输入图像描述

我对整个 FlatBuffers 事物都很陌生,所以我真的不知道我在做什么 - 谁能指出我正确的方向?

I'm trying to store a byte array in a Flatbuffers table, and I think this is how the schema should look like:

table VoiceData { 
    compressed_data:[byte];
}

Then, in code I call CreateCompressedDataVector, but it will only take an object of type sbyte[] and not byte[], so I'm not sure how to progress.

This is the complete code snippet:

enter image description here

I'm new to the whole FlatBuffers thing, so I don't really know what I'm doing - could anyone point me in the right direction?

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

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

发布评论

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

评论(1

东走西顾 2025-01-21 02:55:05

Flatbuffers byte 是一个带符号的 int8 ( https://google.github.io/flatbuffers/flatbuffers_guide_writing_schema.html)。因此,在 C# 中,您必须使用 sbyte 作为本机类型来指示正确的符号。

如需了解更多详情,请参阅转化列表 的 Flatbuffers byte 转换为其他语言。 C# 是第五列。

对于平面缓冲区 ubyte C# 版本是 byte

A flatbuffers byte is a signed int8 (https://google.github.io/flatbuffers/flatbuffers_guide_writing_schema.html). So in C# you have to use sbyte as the native type to indicate the correct signedness.

For more details, here is the list of conversions of flatbuffers byte into other languages. C# is 5th column.

For flatbuffers ubyte, the C# version is byte

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