Protobuf 是一系列键值对。消息的二进制版本只使用字段的标签作为键,每个字段的名称和声明类型只能在解码结束时通过引用消息类型的定义来确定。 当对消息进行编码时,键和值被连接到一个字节流中。当消息被解码时,解析器能够跳过它不认识的字段。通过这种方式,可以使旧代码(相对Protobuf消息定义的新旧)能够兼容新的字...
快手二面感觉凉了,一上来问我protobuf序列化反序列化底层原理,人傻了,寄了个寄😭_牛客网_牛客在手,offer不愁
计算机里我们一般常用的就是二进制编码, 就是比如int类型由32位组成, 每位代表数值2的n次方, n的范围是0-31. 而Protobuf采用的是TLV的编码模式, 即把一个信息按照tag-length-value的模式进行编码. tag和value部分类似于字典的key和value, length表示value的长度. Protobuf用message来作为描述对象的结构体. 网上...