Base128 编码流式传递二进制对象
同样有非 ASCII 字符,尺寸又不如 Binary strings
用例:
- WebView 和 WebPage 传递对象
- WebExtension 和 WebPage 传递对象
性能:
- 相比直接传递二进制数据会有多余的编码,解码,内存复制操作
- 编码时字符串的拼接
- 用 Base128 编码,数据膨胀 8/7 = 1.143 倍
协议:
chunk:
数据小于预期长度时视为结束,等于时在新 chunk 中结束
// 传 56K 数据大约 64K 字符串数据
// 无重传机制,不校验
实现:
- Web 发送,接收(rust -> wasm)
- Flutter 发送,接收