Yibin’s Blog
首页
搜索
友情链接
关于我
留言板
往期整理
历史归档
文章分类
文章标签
文章
108
分类
4
标签
60
首页
搜索
友情链接
关于我
留言板
往期整理
历史归档
文章分类
文章标签
技术分享
🍢
gRPC 请求变成字节后,到底长什么样
发布于: 2026-6-30
最后更新: 2026-6-29
次查看
源码
protobuf
Java
编程
目录
0%
1. 一个贯穿全文的 gRPC 请求
2. wire format:字节流里到底存了什么
2.1 Tag:字段号 + wire type
2.2 Varint:用多少字节,值说了算
2.3 ZigZag:为什么 sint 存负数更小
2.4 Length-delimited:字符串和嵌套
2.5 float / double 是位模式
2.6 完整字节对照表
3. proto3 的几条重要规则
3.1 默认值不上线
3.2 optional 找回存在性
3.3 repeated 标量默认 packed
3.4 两条补充
4. Java 引擎:protoc 生成的代码到底干了什么
4.1 不可变 message + Builder
4.2 编码:CodedOutputStream
4.3 解码:CodedInputStream
5. gRPC 编解码路径:就是标准 protobuf
6. 兼容性:加了新字段,旧代码不会坏
7. 收个尾
Yibin
一名平凡的程序员👨🏻💻
文章
108
分类
4
标签
60
最新发布
PVE虚拟机导出备份导入恢复
2026-9-10
PVE 8.x web管理页白屏处理
2026-9-10
PVE 8.x 折腾WiFi
2026-9-10
0.2升超迷你主机上手体验
2026-9-10
DeepSeek Harness 说"一切皆插件",我当真了
2026-8-16
一次升级fastjson版本导致序列化异常记录
2026-8-6
公告
📢
行远自迩,笃行不怠。
记录技术、工具和一些真实的折腾。
目录
0%
1. 一个贯穿全文的 gRPC 请求
2. wire format:字节流里到底存了什么
2.1 Tag:字段号 + wire type
2.2 Varint:用多少字节,值说了算
2.3 ZigZag:为什么 sint 存负数更小
2.4 Length-delimited:字符串和嵌套
2.5 float / double 是位模式
2.6 完整字节对照表
3. proto3 的几条重要规则
3.1 默认值不上线
3.2 optional 找回存在性
3.3 repeated 标量默认 packed
3.4 两条补充
4. Java 引擎:protoc 生成的代码到底干了什么
4.1 不可变 message + Builder
4.2 编码:CodedOutputStream
4.3 解码:CodedInputStream
5. gRPC 编解码路径:就是标准 protobuf
6. 兼容性:加了新字段,旧代码不会坏
7. 收个尾