int len = INT16_C(L)-INT16_C(0);//转换成int类型
for(int i = 0;strncmp(p, "\x0d\x0a", 2);i += 2,p++)//循环将epc数据取出,分别处理高字节和低字节,将十六进制转换成asc码
{
char d_Lo = (*p & 0xF0) >> 4;
if( d_Lo >= 0x00 && d_Lo <= 0x09)
{
msg[i] = d_Lo + '0';
}
else if( d_Lo >= 0x0A && d_Lo <= 0x0F)
{
msg[i] = d_Lo + 'A' - 0x0A;
}
d_Lo = *p & 0x0F;
if( d_Lo >= 0x00 && d_Lo <= 0x09)
{
msg[i+1] = d_Lo + '0';
}
else if( d_Lo >= 0x0A && d_Lo <= 0x0F)
{
msg[i+1] = d_Lo + 'A' - 0x0A;
}
}