最近因工程项目需要读取模块的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;
}  

字符串中的十六进制字符如何转换成十六进制数相关推荐

  1. 用正则表达式将字符串中的下划线小写转换成大写

    我们在coding的时候,有时候会遇到将代码中的一些变量批量修改,例如 :将"user_name" 修改成 "userName".这时候我们就可以利用IDE的查 ...

  2. java 把ascll转换成char_java中 怎么把一个ascii转换成字符串

    java中 怎么把一个ascii转换成字符串 关注:275  答案:3  信息版本:手机版 电脑版 解决时间 2021-01-18 08:53 提问者壹玍徴戰何亽陪 2021-01-17 22:42 ...

  3. c语言输出字符的十六进制,用c语言输入键盘上的字符后转换成十六进制输出

    用c语言输入键盘上的字符后转换成十六进制输出 悬赏分:10 | 提问时间:2010-9-13 10:26 | 提问者:745922085 | 问题为何被关闭 其他回答 共3条 #include #in ...

  4. C#:十六进制字节数组 转换成 字符串、字符串形式的16进制数据 转换成 十六进制字节数组

    十六进制字节数组 转换成 字符串 /// <summary>/// 十六进制字节数组 转换成 字符串/// </summary>/// <returns></ ...

  5. 键盘录入一个字符串要求长度为8不符合输出错误符合条件将字符串中所有大写字符替换成M

    键盘录入一个字符串要求长度为8不符合输出错误符合条件将字符串中所有大写字符替换成M 方式一:不使用正则 import java.util.Scanner; public class Test { pu ...

  6. c语言十六进制字符串转整数,C语言-提取字符串中的十六进制数字并转换为一个十进制整数输出...

    问题描述:提取字符串中的十六进制数字并转换为一个十进制整数输出 源代码: /*十六进制转换成十进制*/ #include int main(void) { int i,k; char hexad[80 ...

  7. 777. 在LR字符串中交换相邻字符

    777. 在LR字符串中交换相邻字符 在一个由 'L' , 'R' 和 'X' 三个字符组成的字符串(例如"RXXLRXRXL")中进行移动操作.一次移动操作指用一个"L ...

  8. 【简单易懂】Java字符串应用场景:数字金额转换成大写汉字金额【金额转换】

    Java字符串应用场景:数字金额转换成汉字金额 文章目录 Java字符串应用场景:数字金额转换成汉字金额 前言 一.String简单介绍 二.字符串在开发中的应用场景 三.金额转换 3.1解题思路 3 ...

  9. Java实现 LeetCode 777 在LR字符串中交换相邻字符(分析题)

    777. 在LR字符串中交换相邻字符 在一个由 'L' , 'R' 和 'X' 三个字符组成的字符串(例如"RXXLRXRXL")中进行移动操作.一次移动操作指用一个"L ...

最新文章

  1. SLAM架构的两篇顶会论文解析
  2. Spark入门系列(二)| 1小时学会RDD编程
  3. Struts2框架的学习遇到的问题
  4. 为了用户体验,不要做浏览器兼容
  5. 201521123009 《Java程序设计》第10周学习总结
  6. python int32 int8_Int8量化-介绍(一)
  7. 函数,游标与存储过程的综合应用
  8. TensorFlow 2.0 - CNN / 预训练 / RNN
  9. 【面向对象】对象模型的七要素
  10. 35行代码利用python生成字符画,非常适合初学者练习,附源码!
  11. 表单流程中获取当前执行人填写的审批意见
  12. python语音转文字源码_python文字转语音实现过程解析
  13. 个人经常查阅的网站(顺序无先后,持续更新)
  14. 一些web缓存相关的概念.cache-control expires no-cache no-store maxage
  15. android flag,Android 屏幕锁 - FLAG_KEEP_SCREEN_ON
  16. 经典小程序源码及其下载地址
  17. php 静态变量 引用,PHP的返回引用(方法名前加)和局部静态变量(static)
  18. CTF练习题——bugkuCTF 网站被黑题目思路分析
  19. 阿里“小前台、大中台”的解读
  20. 第四章:Android灯光系统(5)-通知灯

热门文章

  1. mysql动态多条件模糊查询方法
  2. Java单元测试实践-24.Gradle执行test任务卡死问题解决
  3. spark submit提交任务一直卡在ACCEPTED状态
  4. 反射,类加载器,动态代理
  5. MySQL MHA高可用集群部署及故障切换(图文详解)
  6. eclipse for php 配置,安装配置Eclipse for PHP
  7. MVCC详解,深入浅出简单易懂
  8. 51单片机对I2C总线上挂接多个AT24C02的读写操作+Proteus仿真
  9. SPL ARMv8源代码分析
  10. 声连码移动支付新渠道,连接7000万用户靠啥?