【编解码】Hex与Byte相互转化
概述:本文主要记录实现 16进制与字符串互相转换的逻辑与实现
说明
16进制格式为 0x00、0x01……这样的形式
十进制格式为 0、1、2…… 这样的形式
主要参考 ASCII码一览表,ASCII码对照表,实现的内容就是 十进制到十六进制
的互相转换
实现
HexToByte
1 |
|
ByteToHex
1 |
|
关于 ASCII 转 HEX 我提出一点问题,在 https://www.onlinegdb.com/ 在线编译,运行上述代码,编译得到的结果略微有点问题:
1 |
|
可以看到小于 10 的数字的第一位都被3填充了。可能是因为栈空间默认初始化的时候都是被 0x00000011 这样的数据填充的。稍微修改了下,加了个判断如下所示:
1 |
|
一种更高效的实现:
1 |
|
1 |
|
【编解码】Hex与Byte相互转化
https://hodlyounger.github.io/2023/10/27/B_Code/C/【C】HexToByte/