protobuf中是否有单字节类型?

时间:2013-07-22 05:08:07

标签: protocol-buffers

我无法找到proto中是否有char / byte类型。

我可以在这里看到各种类型:

但我找不到字节类型甚至int16类型。

1 个答案:

答案 0 :(得分:21)

不,没有固定的1字节类型。固定长度仅有4和8字节变体。大多数其他数值被编码为“varint”s,其长度可变,取决于幅度(和符号,但“zigzag”在那里发挥作用)。因此,您可以在一个字节中存储值为0-127的字节,在两个字节中存储128-255的字节。根据幅度(和符号/之字形等),16位值将占用1到3个字节。

对于倍数,8位版本有“字节”,其余为“打包”;这避免了每个值的字段标题的成本。