如何将char数组转换为Byte数组?
char CardNumber[8] = "B763AB23"; // Length is 8, basically it's in Hex
// B7 63 AB 23
我需要将其转换为字节数组为 byte CardNumberByte[4];
所以基本上,它应该是这样的:
CardNumberByte[0] = B7;
CardNumberByte[1] = 63;
CardNumberByte[2] = AB;
CardNumberByte[3] = 23;
我找不到任何解决方案。
最佳答案
union
{
uint32_t number;
uint8_t CardNumberByte[4];
} CardNum;
char cn[] = "B763AB23";
和“转化”:
CardNum.Number = strtol(cn, NULL, 16);
您的字节可通过以下方式获得
CardNum.CardNumberByte[xx]
但我认为你应该从初学者 C++ 教程开始,学习一些基础知识。
关于将十六进制字符数组转换为字节数组Arduino,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44735630/