我无法找到proto中是否有char / byte类型。
我可以在这里看到各种类型:
但我找不到字节类型甚至int16类型。
答案 0 :(得分:21)
不,没有固定的1字节类型。固定长度仅有4和8字节变体。大多数其他数值被编码为“varint”s,其长度可变,取决于幅度(和符号,但“zigzag”在那里发挥作用)。因此,您可以在一个字节中存储值为0-127的字节,在两个字节中存储128-255的字节。根据幅度(和符号/之字形等),16位值将占用1到3个字节。
对于倍数,8位版本有“字节”,其余为“打包”;这避免了每个值的字段标题的成本。