| double |
|
float |
| float |
|
float |
| int32 |
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. |
int |
| int64 |
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. |
int/long |
| uint32 |
Uses variable-length encoding. |
int/long |
| uint64 |
Uses variable-length encoding. |
int/long |
| sint32 |
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. |
int |
| sint64 |
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. |
int/long |
| fixed32 |
Always four bytes. More efficient than uint32 if values are often greater than 2^28. |
int |
| fixed64 |
Always eight bytes. More efficient than uint64 if values are often greater than 2^56. |
int/long |
| sfixed32 |
Always four bytes. |
int |
| sfixed64 |
Always eight bytes. |
int/long |
| bool |
|
boolean |
| string |
A string must always contain UTF-8 encoded or 7-bit ASCII text. |
str/unicode |
| bytes |
May contain any arbitrary sequence of bytes. |
str |