我从命令行 "13:22:45:33:99:cd"
读取了一个 17 字节的十六进制字符串,并想将其转换为长度为 6 字节的二进制值。
为此,我从命令行 "13:22:45:33:99:cd"
读取了一个 17 字节的十六进制字符串,并将其转换为二进制数字 0001 0011 0010 0010 0100 0101 0011 0011 1001 1001 1100 1101
。但是,由于我使用的是 char 数组,它的长度为 48 个字节。我希望生成的二进制文件的长度为 6 个字节,即我希望 0001 0011 0010 0010 0100 0101 0011 0011 1001 1001 1100 1101
为 6 个字节(48 位)而不是 48 个字节。请建议如何完成此任务。
最佳答案
在 ':'
字符处拆分字符串,现在每个子字符串都是一个字符串,您可以将其传递给例如strtoul
然后放入大小为 6 的 unsigned char
数组。
关于c - 48字节二进制转6字节二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12855026/