protobuf的數據類型和C++數據類型

protobuf支持的數據類型不是很豐富

protobuf屬於輕量級的,因此不能支持太多的數據類型,下面是protobuf支持的基本類型列表,一般都能滿足需求,不過在選擇方案之前,還是先看看是否都能支持,以免前功盡棄。同樣該表也值得收藏,作爲我們在定義類型時做參考。

.proto type

c++

notes

double

double

 

float

float

 

int32

int32

使用可變長編碼方式,負數時不夠高效,應該使用sint32

int64

int64

同上

uint32

uint32

使用可變長編碼方式

uint64

uint64

同上

sint32

int32

使用可變長編碼方式,有符號的整型值,編碼時比通常的int32高效

sint64

sint64

同上

fixed32

uint32

總是4個字節,如果數值總是比2^28大的話,這個類型會比uint32高效

fixed64

uint64

總是8個字節,如果數值總是比2^56大的話,這個類型會比uint64高效

sfixed32

int32

總是4個字節

sfixed64

int64

總是8個字節

bool

bool

 

string

string

一個字符串必須是utf-8編碼或者7-bitascii編碼的文本

bytes

string

可能包含任意順序的字節數據


發佈了46 篇原創文章 · 獲贊 23 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章