ASCII转16进制C语言
ASCII内容是31D98C56B3DD703917转换成HEX应该为0x310x320x330x340x350x360x370x380x39那位能知道怎么转的说说原理,...
ASCII内容是 31D98C56B3DD703917
转换成HEX应该为 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 那位能知道怎么转的 说说原理, 能让我明白,追加分
我用的是单片机
谢谢1楼的
但是我是过啦,你的AscToHex()函数是把单字节16进制转换成ASCII的函数
HexToAsc()这个是把单字节ASCII转换成16进制的,
有没有办法吧ASCII串转换成16进制的 展开
转换成HEX应该为 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 那位能知道怎么转的 说说原理, 能让我明白,追加分
我用的是单片机
谢谢1楼的
但是我是过啦,你的AscToHex()函数是把单字节16进制转换成ASCII的函数
HexToAsc()这个是把单字节ASCII转换成16进制的,
有没有办法吧ASCII串转换成16进制的 展开
2个回答
展开全部
以前引别人的,自己懒得再写了呵呵。原理就是这样的,你可以直接用的
//函 数 名: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,再连接
展开全部
之前引他人的,自己懒得再写了呵呵。原理就是这样的,你可以直接用的
//函
数
名: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,再连接
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询