字符串轉換16進制?
/****************************************************************************
函數名稱: str_to_hex
函數功能: 字符串轉換為十六進制
輸入參數: string 字符串 cbuf 十六進制 len 字符串的長度。
輸出參數: 無
*****************************************************************************/
static int str_to_hex(char *string, unsigned char *cbuf, int len)
{
BYTE high, low;
int idx, ii=0;
for (idx=0; idx<len; idx+=2)
{
high = string[idx];
low = string[idx+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;
cbuf[ii++] = high<<4 | low;
}
return 0;
}
/****************************************************************************
函數名稱: hex_to_str
函數功能: 十六進制轉字符串
輸入參數: ptr 字符串 buf 十六進制 len 十六進制字符串的長度。
輸出參數: 無
*****************************************************************************/
static void hex_to_str(char *ptr,unsigned char *buf,int len)
{
for(int i = 0; i < len; i++)
{
sprintf(ptr, "%02x",buf[i]);
ptr += 2;
}
}