当前位置: 首页 > 知识库问答 >
问题:

在protobuf消息中存储单个字节

景震博
2023-03-14

我使用什么数据类型在协议缓冲区消息中存储单个字节?看到https://developers.google.com/protocol-buffers/docs/proto#scalar的列表,似乎*int32类型之一最合适。有没有更有效的方法来存储单个字节?

共有1个答案

赵浩邈
2023-03-14

好吧,您需要了解无论如何至少需要两个字节——一个用于标签,一个用于数据。(如果字段编号较高,标签将占用更多空间。)如果您使用uint32,对于最大127的值,数据将需要1个字节,对于更大的值,需要2个字节。

我认为没有比这更有效的了。

 类似资料:
  • 本文向大家介绍kafka的消息存储?相关面试题,主要包含被问及kafka的消息存储?时的应答技巧和注意事项,需要的朋友参考一下 kafka的消息存储在磁盘上,一个kafka topic分为一个或多个partition,每个partition单独存储自己的消息数据 partition将数据记录到.log文件中,为了避免文件过大影响查询效率,将文件分段处理 记录消息到.log文件中的同时,会记录消息o

  • 第一,你能确认行为的改变吗?第二,有没有恢复的方法?还有一个额外的好处,如果有人知道为什么会发生这种变化,我很想理解。

  • 我在Ubuntu 16.04上运行Hadoop 2.7.3、MySQL 5.7.17和Hive 2.1.1。 当我运行/hive时,我不断收到以下警告和异常: 这是我的hive-site.xml 为了修复错误,我尝试了Hive无法实例化org.apache.hadoop.Hive.ql.metadata。SessionHiveMetaStoreClient,无法实例化org.apache.hado

  • 我有Hive 2.3.3和Hadoop 3.1.0。我可以在终端上使用hive comand启动Hive,但当我尝试创建表时,我收到以下错误: 如果我启动hive--service metastore,下面的代码就是发布的错误: 我所做的唯一修改,遵循我的大学教师指南,是删除hive-jdbc-1.0.0-standalone.jar并创建 /tmp和 /user/hive/warehouse.有

  • 问题内容: 我有重复的消息,我想存储在一个文件中。目前,我必须将此重复消息包装在另一条消息中。有没有解决的办法? 问题答案: 这是协议缓冲区文档的“技术”部分对重复消息的说明: 如果要将多个消息写入单个文件或流,则由您来跟踪一条消息的结尾和下一条消息的开始。协议缓冲区连线格式不是自定界的,因此协议缓冲区解析器无法确定消息在何处结束。解决此问题的最简单方法是在编写消息本身之前先编写每个消息的大小。当

  • 我正在尝试实施gRPC,现在我遇到了各种各样的问题,但我就是不明白我做错了什么。我遵循这个文档:https://github.com/grpc/grpc-java/blob/master/README.md 现在,当我试图构建我的项目时,我总是会遇到这样的错误 在我的Android Studio外部库中,我有Pro buf-java-3.12.1 jar。 在我的project gradle文件中