1. 简介
使用protobuf主要是两个步骤,序列化和反序列化。
在网络编程进行数据传输时,数据都是以字节流进行传输。因此需要我们将定义的proto格式的数据,进行序列化,转化成一段字符串编码,以便在网络上传输或者做存储处理。在传输完成后,在进行反序列化,转换成proto格式的数据进行使用。
2. 序列化
序列化使用SerializeToString()
函数。
std::string test; // 序列化到string
data.SerializeToString(&test); // 序列化操作
/*
# test 为序列话后的字符串编码
# data 为定义的proto格式的数据
*/
3. 反序列化
反序列化使用ParseFromString()
函数进行解析
data.ParseFromString(test) # 将test反序列化到data
/*
# test 为需要反序列化的字符串编码
# data 反序列化后的proto格式的数据。 data需要提前用proto定义
*/