Protobuf支持的数据类型包括:
- double:双精度浮点数
- float:单精度浮点数
- int32:32位有符号整数
- int64:64位有符号整数
- uint32:32位无符号整数
- uint64:64位无符号整数
- sint32:带符号的32位整数编码,有更高的压缩效率
- sint64:带符号的64位整数编码,有更高的压缩效率
- fixed32:32位固定大小的无符号整数
- fixed64:64位固定大小的无符号整数
- sfixed32:32位固定大小的有符号整数
- sfixed64:64位固定大小的有符号整数
- bool:布尔类型
- string:字符串类型
- bytes:字节类型
除了基本数据类型外,Protobuf还支持自定义数据类型和枚举类型。