字符串和十六进制之间的转换方法: /**************************************************************************** 函数名称: 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; } }