以前引别人的,自己懒得再写了呵呵。原理就是这样的,你可以直接用的
//函 数 名:AscToHex()
//功能描述:把ASCII转换为16进制
unsigned char AscToHex(unsigned char aHex){
if((aHex>=0)&&(aHex<=9))
aHex += 0x30;
else if((aHex>=10)&&(aHex<=15))//A-F
aHex += 0x37;
else aHex = 0xff;
return Hex;
}
//函 数 名:HexToAsc()
//功能描述:把16进制转换为ASCII
unsigned char HexToAsc(unsigned char aChar){
if((aChar>=0x30)&&(aChar<=0x39))
aChar -= 0x30;
else if((aChar>=0x41)&&(aChar<=0x46))//大写字母
aChar -= 0x37;
else if((aChar>=0x61)&&(aChar<=0x66))//小写字母
aChar -= 0x57;
else aChar = 0xff;
return aChar;
}
---补:还是我认为的那样,我还是觉得用C语言的字符串操作函数先分割,再循环求出每个的ASCII,再连接
之前引他人的,自己懒得再写了呵呵。原理就是这样的,你可以直接用的
//函
数
名:AscToHex()
//功能描述:把ASCII转换为16进制
unsigned
char
AscToHex(unsigned
char
aHex){
if((aHex>=0)&&(aHex<=9))
aHex
+=
0x30;
else
if((aHex>=10)&&(aHex<=15))//A-F
aHex
+=
0x37;
else
aHex
=
0xff;
return
Hex;
}
//函
数
名:HexToAsc()
//功能描述:把16进制转换为ASCII
unsigned
char
HexToAsc(unsigned
char
aChar){
if((aChar>=0x30)&&(aChar<=0x39))
aChar
-=
0x30;
else
if((aChar>=0x41)&&(aChar<=0x46))//大写字母
aChar
-=
0x37;
else
if((aChar>=0x61)&&(aChar<=0x66))//小写字母
aChar
-=
0x57;
else
aChar
=
0xff;
return
aChar;
}
---补:还是我认为的那样,我还是觉得用C语言的字符串操作函数先分割,再循环求出每一个的ASCII,再连接