1,两个字 char 转一个int:
int charToInt(uchar l,uchar h)
{return (((int)l & 0x00ff) | (((int)h & 0x00ff) << 8 ));
}
2,16进制转ascii
char * HexToAsc(char *hexc,int len)
{
char *ascc;
ascc = (char *) malloc(len * 2);
memset(ascc,0,strlen(ascc));
int b=0;
for(int i=0;i<len;i++)
{
ascc[b++] = (hexc[i]>> 4 ) & 0x0f ;
ascc[b++] = hexc[i] & 0x0f ;
}
for(int j=0;j<len * 2;j++)
{
if(ascc[j] >=0 && ascc[j] <= 9)
ascc[j] += 48;
if(ascc[j] >= 0x0a && ascc[j] <= 0x0f)
ascc[j] += 55;
}
return ascc;
}
3,ascii 转int
int ASCII_TO_INT(char ascii)
{
int a;
if(ascii >= 'a' && ascii <= 'f' )
{
a = ascii - 87;
}
else if(ascii >= 'A' && ascii <= 'F' )
{
a = ascii - 55;
}
else if(ascii >= 48 && ascii <= 57)
{
a = ascii- 48;
}
else
{
a = -1;
}
return a;
}