我无法确定在proto中是否有char / byte类型。
我可以在这里看到各种类型:
- https://developers.google.com/protocol-buffers/docs/proto
- https://developers.google.com/protocol-buffers/docs/encoding
但是我找不到byte类型,甚至连int16类型也没有。
我无法确定在proto中是否有char / byte类型。
我可以在这里看到各种类型:
但是我找不到byte类型,甚至连int16类型也没有。
不,没有固定的1字节类型。固定长度只有4和8字节的变体。大多数其他数字值都被编码为"varint",这取决于大小(以及符号,但这里涉及到“zigzag”)。因此,您可以将值为0-127的字节存储在一个字节中,128-255的字节存储在两个字节中。16位值将根据大小(以及符号/ zigzag等)需要1至3个字节。
对于多个值,8位版本使用"bytes",其余版本使用"packed"; 这避免了每个值的字段标头成本。
int32
,并让可变长度编码部分负责不发送未使用的字节。 - mu is too short