将字节数组存储在 Flatbuffers 表中
我正在尝试将字节数组存储在 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:
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
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 signedint8
(https://google.github.io/flatbuffers/flatbuffers_guide_writing_schema.html). So in C# you have to usesbyte
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 isbyte