数据序列化工具——flatbuffer
2024-09-02 02:45:05
flatbuffer是一款类似于protobuf的数据序列化工具。所有数据序列化,简单来说,就是将某程数据结构按照一定的格式进行编码与解码,以方便在不同的进程间传递后,能够正确的还原成之前的数据结构。
flatbuffer大体上的用法与protobuf是类似的。所不同的是,它支持union定义,并可以通过as方法来简单的将由union包裹的数据进行类型转换,省去了一些麻烦。另外,它使用offset形式进行数据存储,从理论上来说,可以加快访问速度。(有待验证)
一个示例:
namespace com.cnblogs; enum RequestType: byte {
RequestDataA = 0,
RequestDataB
} table RequestDataA {
setting: bool;
}
table RequestDataB {
setting: bool;
}
union RequestDataField {
RequestDataA,
RequestDataB
} table Request {
type: RequestType;
message: RequestDataField;
} root_type Request;
如上的结构,就可以通过type成员和as方法来简单的进行request的类型区别与转换。
资料参考:
[中文]
https://www.cnblogs.com/hgwang/p/9964151.html
https://www.cnblogs.com/frankwt/p/12943924.html
[英文]
https://google.github.io/flatbuffers/
最新文章
- C# 文件读写
- 获取IP地址 &; 伪装IP地址发送请求
- createElement与createDocumentFragment的点点区别
- Scala学习笔记之伴生对象
- web 安全
- Eclipse启动时选择workspace设置
- java中 几种数据库连接池 的写法
- PNG图片压缩工具
- MySQL 5.6.3
- python装饰器总结
- php获取汉字首字母
- HDU-5289<;two pointers>;
- Java集合中的LinkedHashMap类
- [CVPR2018] Context-aware Deep Feature Compression for High-speed Visual Tracking
- 【Java入门提高篇】Day16 Java异常处理(下)
- WS_TABSTOP 与 BS_DEFPUSHBUTTON 第一次使有
- 【转】Python的神奇方法指南
- a标签和p标签不能设置margin
- pycharm如何新项目如何不默认创建虚拟环境(吐槽)
- spring cloud bus原理总结