关于char[]、byte[]数组转换的问题
项目需要用socket跟硬件通讯,然后给了我一个很糙文档让我写通讯接口,里面还是用C写的,现在我是一脸懵逼的样子
文档如下:
通用数据协议格式:<指令1B>+<指令1B>+<数据长度1B>+[数据]+[校验1B]
其中指令2B,支持1~255,足够后续进行命令扩展。
数据长度为数据长度字节后所有数据长度,包括校验字节;
unsigned char xor_crc(unsigned char *ptr,unsigned char len)
{
unsigned char i,xor=0;
for(i=0;i<len;i++)
{
xor = xor ^ ptr[i];
}
return(xor);
}
示例:
1.发送指令
<21><21><数据长度><校验1B>
0x21 0x21 0x01 0xXX
返回结果:
找到标签:<41><41><数据长度><标签数量1B><标签号1 12B><标签号2 12B><校验1B>
以找到两个标签为例,第一个为0xA31245337600007832591221,第二个为0x A31245337600007832591256
具体格式为:0x41 0x41 0xXX 0x02 0xA3 0x12 0x45 0x33 0x76 0x00 0x00 0x78 0x32 0x59 0x12 0x21 0xA3 0x12 0x45 0x33 0x76 0x00 0x00 0x78 0x32 0x59 0x12 0x56 0xXX
现在我是不知道怎么下手