bool ParseFromString(const string& data);
ParseFromString() 函數是protobuf 提供的一個C++ API,它的功能就是將string 裏面的數據反序列化(解析)到指定的消息結構類中。它其實是一個消息結構類的成員函數,反序列化之後,該消息結構類中的數據成員將會被填充,且有效。
若要ParseFromString() 函數成功執行並返回true 。還需要注意一點就是輸入參數的數據構造要正確,不能多一個也不是少一個字節。
我之前就因爲將data 的長度resize() 太大,導致了該函數返回false。不過消息結構類對象中的數據還是被填充好的。而且可以正常使用,has_XXX() 也會返回true。
SerializeToString() 函數是protobuf 提供的一個C++ API,它的功能與parseFromString() 函數相對應,是將消息結構的數據序列化(填充)到output
所指向的string 對象中。在string 對象中以二進制的形式存儲。