在当代物联网行业中,由于隐私和安全问题,很多的公司选择使用自定义的私有二进制协议。
在C语言中,由于有结构体的加持,对象和字节数组转换起来就特别简单;但在java中,在没有原生支持的情况下,开发人员就只能够靠码力去读取并解析数据然后转译成为对象
,流程如下图:
在这转译过程中其实会伴随很多人头疼的问题,例如:
- 大小端/网络字节序的处理
- 无符号数/有符号数的处理
- 多字节整数转换处理
- ASCII码与字节之间的转换处理
- 空指针/填充数据的处理
- 数组对象/嵌套对象的处理
这是我找的一个开源项目,MAGIC-BYTE; 的介绍, 这个框架主要是可以将java实体类很简单的序列化为字节数组。
这个确实使用挺方便的,哈哈
特此坐下笔记,