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還支持自定義數據類型和枚舉類型。