bool在Google Protocol Buffers中占用的空间是多少?

时间:2017-04-29 12:33:20

标签: serialization deserialization protocol-buffers

message Person{
  optional bool foo = 1;
  optional bool bar = 2;
}

在序列化表格中,一个bool类型在google protobuf中占用的空间是多少?

1 个答案:

答案 0 :(得分:2)

bool被编码为值为0或1的varint,因此有效负载将占用1个字节。字段标题大小取决于字段编号;对于字段1和2,这将是1个字节。整体而言:2个字节。如果你要存储大量的书籍,可以考虑按位将它们打包成一个整数字段 - 如果高位可能使用固定宽度(fixed32等)(大幅度数字编码为varint相对昂贵)