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