功能:十六进制与ascii码互转
#include#include #include unsigned char name[15] = {"1234567890abcde"}; unsigned char name1[15] = {0x31,0x32,0x33,0x34,0x35,0x31,0x32,0x33,0x34,0x35,0x31,0x32,0x33,0x34,0x35}; unsigned char put[15]; unsigned char data[16]; //ascii转16进制 unsigned char char_to_hex(unsigned char char_num) { if ((char_num >= '0') &&(char_num <= '9')) { char_num = 0x30+(char_num - '0'); } else if ((char_num >= 'A') &&(char_num <= 'Z')) { char_num = 0x41+(char_num - 'A'); } else if ((char_num >= 'a') &&(char_num <= 'z')) { char_num = 0x61+(char_num - 'a'); } else char_num = 0xff; return char_num; } //16进制转ascii unsigned char hex_to_char(unsigned char hex_num) { if ((hex_num>=0x30) && (hex_num<=0x39)) { hex_num = '0'+ hex_num - 0x30; } else if ((hex_num>=0x41) && (hex_num<=0x5A)) { hex_num = 'A' + (hex_num - 0x41); } else if ( (hex_num>=0x61) && (hex_num<=0x7A)) { hex_num = 'a' + (hex_num - 0x61); } else hex_num = 0xff; return hex_num; } void main() { int len; len = strlen(name); for (int i = 0; i < len; i++) { put[i] = char_to_hex(name[i]); } for (int i = 0; i < len; i++) { printf("char_to_hex:0x%02xn",put[i]); } for (int i = 0; i < len; i++) { data[i] = hex_to_char(put[i]); } //data[15] = ' '; printf("hex_to_char:%sn",data); system("pause"); }



