最近发现一个在JAVA对象和C结构体之间相互转换的工具

在当代物联网行业中,由于隐私和安全问题,很多的公司选择使用自定义的私有二进制协议。
在C语言中,由于有结构体的加持,对象和字节数组转换起来就特别简单;但在java中,在没有原生支持的情况下,开发人员就只能够靠码力去读取并解析数据然后转译成为对象
,流程如下图:
请添加图片描述

在这看似简单的转译过程中其实会伴随很多人头疼的问题,例如:

  • 大小端/网络字节序的处理
  • 无符号数/有符号数的处理
  • 多字节整数转换处理
  • ASCII码与字节之间的转换处理
  • 空指针/填充数据的处理
  • 数组对象/嵌套对象的处理

所以此项目项目来了,此项目将尽可能的解决上述问题,在MagicByte中,你可以在类的定义时便通过注解申明好这复杂的序列化流程。
并且序列化也只需要简单的调用两个方法,用于对象转字节的MagicByte.unpack();和用于字节转对象的MagicByte.pack()

这个确实使用挺方便的,哈哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值