1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 字符串中的十六进制字符如何转换成十六进制数

字符串中的十六进制字符如何转换成十六进制数

时间:2023-04-12 03:47:04

相关推荐

字符串中的十六进制字符如何转换成十六进制数

最近因工程项目需要读取模块的MAC地址,该设备上传的字符串中包含MAC地址,但是是用十六进制描述,如何将字符串中的十六进制字符转换成十六进制数呢?

例如:字符串中的MAC地址如下

“FA15BF36987F"

一、编写函数将字符串中的十六进制字符转换成十六进制数

uint8_t ASCII_To_Hex(uint8_t number){if (number >= '0' && number <= '9')return (number - 0x30);else if (number >= 'a' && number <= 'f')return ((number - 'a') + 10);else if (number >= 'A' && number <= 'F')return ((number - 'A') + 10);return (0);}

二、编写解析程序

char string[20] = “FA15BF36987F";uint8_t MAC_Buffer[6];uint8_t i;uint8_t ch1;uint8_t ch2;char *p;p = string;for (i=0;i<6;i++){ch1 = *p++;ch2 = *p++;ch1 = ASCII_To_Hex(ch1);ch2 = ASCII_To_Hex(ch2);MAC_Buffer[i] = (ch1 << 0x04) | ch2;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。