所以,你看到的31其实是字符“1”的16进制数字表示,所以我们要想接收端接收的是16进制的字符,那么我们就需要在发送之前进行字符串转16进制操作。
int str_to_hex(char* oldStr,char* newStr,int len)
{
int high,low;//两个字符一组
int count,ii=0;
for(count = 0;count
high = string[count];
low = string[count+1];
if((high>='0')&&(high<='9'))
{
high = high - '0';
}
else if((high>='a')&&(high<='f'))
{
high = high - 'a'+10;
}
else if((high>='A')&&(high<='F'))
{
high = high - 'A'+10;
}
else
{
return -1;
}
if((low>='0')&&(low<='9'))
{
low = low - '0';
}
else if((low>='a')&&(low<='f'))
{
low = low - 'a'+10;
}
else if((low>='A')&&(low<='F'))
{
low = low - 'A'+10;
}
else
{
return -1;
}
newStr[ii++] = high<<4 | low;
}
return 0;
}
经过转换后,发送端发送的就是16进制的数啦



