Google协议缓冲区messag到字节数组C ++

大黄素

我目前正在使用两种消息协议,一种是google proto,另一种是c结构。将Google协议缓冲区消息(MessageLite)转换为字节数组的最佳解决方案是什么

例如,我想要转换以下Google Proto消息:

message GoogleRequest
{
     optional int32 request = 1 [default = 0];
}

至:

struct Request
{
    int request;
};

我已经尝试了以下方法,但是它不起作用:

GoogleRequest reqMsg;
reqMsg.set_request(1234);

int size = reqMsg.ByteSize();
Request* reqStruct = new Request;
reqMsg.SerializeToArray((void*)reqStruct , size);

任何建议,或者是最好的方法:

reqStruct->request = reqMsg.request();

我有很多消息类型,并且找到一种通用的方法非常好。

肯顿·瓦尔达(Kenton Varda)

您说您想将消息转换为字节数组,但是您的代码建议您尝试将其转换为C struct(Request)。不支持转换为C结构。转换为字节数组(即的数组char)很容易:

int size = reqMsg.ByteSize();
char* array = new char[size];
reqMsg.SerializeToArray(array, size);

或者,另一种方式:

std::string bytes = reqMsg.SerializeAsString();
const char* array = bytes.data();
int size = bytes.size();

但是,此数组不是结构,根据内容的不同,它可以具有许多不同的大小。除了编写手动在每个字段上复制的代码外,无法转换为结构。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何解析直接内存中的Google协议缓冲区而不在Java中分配堆字节数组?

来自分类Dev

Python可写缓冲区/内存视图到数组/字节数组/ ctypes字符串缓冲区

来自分类Dev

如何在不分配Java堆字节数组的情况下解析直接内存中的Google协议缓冲区?

来自分类Dev

从存储为节点缓冲区的字节数组创建类型化数组

来自分类Dev

将固定大小的缓冲区(字节数组)转换为字符串

来自分类Dev

C# 如何获取串行写入缓冲区上的字节数?

来自分类Dev

如何使用字节缓冲区表示一个字节数组中的数据?

来自分类Dev

从平面缓冲区与字节数组之间进行序列化和反序列化

来自分类Dev

使用固定缓冲区将字节数组重新解释为托管结构

来自分类Dev

从AVPacket向MediaCodec提供字节数据:输出缓冲区出现问题

来自分类Dev

从字节数组(缓冲区)的一个字节中提取位的最简单方法是什么?

来自分类Dev

AS3字节数组到C#字节数组

来自分类Dev

AS3字节数组到C#字节数组

来自分类Dev

协议缓冲区消息的字节序

来自分类Dev

无法使用Google协议缓冲区从C#返回相同的double到C ++,然后返回

来自分类Dev

C#用户输入到字节数组

来自分类Dev

字节数组到int C#

来自分类Dev

字节数组到浮点转换C#

来自分类Dev

显示从字节数组到C#WinForms的pdf

来自分类Dev

C#图像到字节数组的巨大尺寸

来自分类Dev

C#用户输入到字节数组

来自分类Dev

字节数组到布尔数组

来自分类Dev

C ++ Google协议缓冲区打开http套接字

来自分类Dev

Linux套接字,如何获取发送缓冲区中的字节数/数据包数?

来自分类Dev

固定对象到字节数组

来自分类Dev

Clojure,文件到字节数组?

来自分类Dev

WPF WriteableBitmap到字节数组

来自分类Dev

BigIntegers的ArrayList到字节数组

来自分类Dev

图像到字节数组-ExternalException

Related 相关文章

  1. 1

    如何解析直接内存中的Google协议缓冲区而不在Java中分配堆字节数组?

  2. 2

    Python可写缓冲区/内存视图到数组/字节数组/ ctypes字符串缓冲区

  3. 3

    如何在不分配Java堆字节数组的情况下解析直接内存中的Google协议缓冲区?

  4. 4

    从存储为节点缓冲区的字节数组创建类型化数组

  5. 5

    将固定大小的缓冲区(字节数组)转换为字符串

  6. 6

    C# 如何获取串行写入缓冲区上的字节数?

  7. 7

    如何使用字节缓冲区表示一个字节数组中的数据?

  8. 8

    从平面缓冲区与字节数组之间进行序列化和反序列化

  9. 9

    使用固定缓冲区将字节数组重新解释为托管结构

  10. 10

    从AVPacket向MediaCodec提供字节数据:输出缓冲区出现问题

  11. 11

    从字节数组(缓冲区)的一个字节中提取位的最简单方法是什么?

  12. 12

    AS3字节数组到C#字节数组

  13. 13

    AS3字节数组到C#字节数组

  14. 14

    协议缓冲区消息的字节序

  15. 15

    无法使用Google协议缓冲区从C#返回相同的double到C ++,然后返回

  16. 16

    C#用户输入到字节数组

  17. 17

    字节数组到int C#

  18. 18

    字节数组到浮点转换C#

  19. 19

    显示从字节数组到C#WinForms的pdf

  20. 20

    C#图像到字节数组的巨大尺寸

  21. 21

    C#用户输入到字节数组

  22. 22

    字节数组到布尔数组

  23. 23

    C ++ Google协议缓冲区打开http套接字

  24. 24

    Linux套接字,如何获取发送缓冲区中的字节数/数据包数?

  25. 25

    固定对象到字节数组

  26. 26

    Clojure,文件到字节数组?

  27. 27

    WPF WriteableBitmap到字节数组

  28. 28

    BigIntegers的ArrayList到字节数组

  29. 29

    图像到字节数组-ExternalException

热门标签

归档