将16进制字符串“313233”转换为字符串“123”
void HexStrToBuf(uint8_t *Buf, char *Str, uint16_t StrLen)
{
uint8_t Hex;
uint16_t i, N = 0;
if(StrLen > 1000 || StrLen % 2 != 0)return;//必要的保护
for(i = 0; i < StrLen ;)
{
if(Str[i] >= '0' && Str[i] <= '9')Hex = (Str[i] - 48) << 4;
else if(Str[i] >= 'A' && Str[i] <= 'F')Hex = (Str[i] - 55) << 4;
else if(Str[i] >= 'a' && Str[i] <= 'f')Hex = (Str[i] - 87) << 4;
i++;//防止死循环
if(Str[i] >= '0' && Str[i] <= '9')Hex += (Str[i] - 48);
else if(Str[i] >= 'A' && Str[i] <= 'F')Hex += (Str[i] - 55);
else if(Str[i] >= 'a

本文介绍两个函数,实现16进制字符串到字符串的转换以及字符串到16进制字符串的转换。`HexStrToBuf`函数将16进制字符串如'313233'转换为字符串'123',而`BufToHexStr`函数则完成相反的转换。这两个函数简单直接,适用于简单的进制转换需求。
最低0.47元/天 解锁文章
1965

被折叠的 条评论
为什么被折叠?



