任何人都知道如何或任何可以使用的库?
提前致谢!
char * base16Str="1234567F";
char * base256Str;
答案 0 :(得分:1)
这是一个非常简单的转换,因为您只需要将基数为16的字符对映射到每个256字符的基数。即:
char256[n] = char16[2*n] | (char16[2*n+1] << 4);
我假设char16[]
条目的范围是0到15,即您已经从'0'
- '9'
,'a'
- { {1}}(或'f'
- 'A'
)。
答案 1 :(得分:0)
一种简单的方法是使用表查找:
const char digits[257] = "0123456789ABCDEFGHIJKLMNOPQRST" /* ... */;
在数组中搜索字符,并使用索引作为数字的值。
要获取可打印数字,请使用该值作为数组的索引。
顺便说一句,数组是257而不是256,为'\ 0'字符分配空间,这不是数字字符,而是取悦字符串函数。