protocol buffer 简称 protobuf 或pb
是google开发的 数据序列化协议 通常用于rpc数据交换
类似的 还有常见的 XML 和 json 以及没用过的先码着的 MessagePack 和 Apache Thrift
相比之下 protobuf 更轻量级
先空缺一下pb的基础介绍
码一下今天遇到的 protobuf c++使用中的一个坑,pb文件中定义的optional 变量名为大写时
比如 optional FirstName
那么通过函数来判断字段存在和使用该字段的时候,应该使用小写的firstname.
即 wlhz.has_firstname() && wlhz.firstname() == "Zhao"
非常奇怪,猜测这里应该转换成.h文件时 进行了大转小写操作,明天可以具体测一下使用继承Class的方法 不调用函数 看看大小写情况。 另外 如果真的是大小写问题,那么如果在pb里同时定义 firstname 和大写的 FIRSTNAME 又会如何呢。
先码着 明天深究一下。
之前c++ pb里面都是first_name 这样的取名规则 这个文件应该是java同步过来的 才会是驼峰式的取名