这个工具通过自动生成解析类,实现了字节数组和对象之间的转换。使用@ParsePacket注解标注实体类:
@ParsePacket( "header:1|cmd:2|len:2|seq:2|mac:6|data:this.len-6|check:1|tail:1" ) public class TargetObject { public byte header; public short cmd; public short len; public short seq; public byte[] mac; public byte[] data; public byte check; public byte tail; }
框架自动生成解析类 <类名>PacketParser
public class TargetObjectPacketParser { public static final TargetObject parse(byte[] src) { return parse(src, new TargetObject()); } public static final TargetObject parse(byte[] bytes, TargetObject src) { ByteBuffer byteBuffer = ByteBuffer.wrap(bytes); src.header = byteBuffer.get(); src.cmd = byteBuffer.getShort(); src.len = byteBuffer.getShort(); src.seq = byteBuffer.getShort(); src.mac = new byte[6]; byteBuffer.get(s
[Android] PacketParser 二进制协议转换工具
最新推荐文章于 2023-10-31 18:00:12 发布
![](https://img-home.csdnimg.cn/images/20240611030827.png)