十六进制转ASCII码
unsigned char HexToChar(unsigned char bChar)
{
if ((bChar >= 0x30) && (bChar <= 0x39))
{
bChar -= 0x30;
}
else if ((bChar >= 0x41) && (bChar <= 0x46))
{
bChar -= 0x37;
}
else if ((bChar >= 0x61) && (bChar <= 0x66))
{
bChar -= 0x57;
}
else
{
bChar = 0xff;
}
return bChar;
}
ASCII码转十六进制
unsigned char CharToHex(unsigned char bHex)
{
if ((bHex >= 0) && (bHex <= 9))
{
bHex += 0x30;
}
else if ((bHex >= 10) && (bHex <= 15))
{
bHex += 0x37;
}
else
{
bHex = 0xff;
}
return bHex;
}
十六进制字符串转十六进制(十进制)数字
unsigned char l_u8Hex[10];
unsigned int l_u16Status = 0;
l_u8Hex[0] = '0', l_u8Hex[1] = '1', l_u8Hex[2] = 'C', l_u8Hex[3] = '2';
l_u8Hex[4] = '\0';
l_u16Status = strtol((char*)l_u8Hex, NULL, 16);
printf("======>>>>>%x---%d<<<<<<=====\n", l_u16Status, l_u16Status);