我想创建一个将二进制(int类型)转换为字符串的函数。 例如:如果我有这个 01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100
该函数应返回" Hello World"。
答案 0 :(得分:2)
基本上,你必须转换十进制数字的二进制代码(参见http://www.asciitable.com/表)。例如。 - 01001000 = 72(ASCII - > H),01100101 = 101(ASCII - > e)等...二进制和十进制之间的转换非常简单: 01001000 = (0 * 10 ^ 7)+(1 * 10 ^ 6)+(0 * 10 ^ 5)+(0 * 10 ^ 4)+(1 * 10 ^ 3)+(0 * 10 ^ 2)+(0 * 10 ^ 1)+(0 * 10 ^ 0)= 0 + 64 + 0 + 0 + 8 + 0 + 0 + 0 = 72(ASCII码= H)
答案 1 :(得分:-1)
我认为strtol是你应该去的方式。
https://www.tutorialspoint.com/c_standard_library/c_function_strtol.htm
在8号和平中打破你的信件,以获得个人的角色。
这里有一个例子: Convert from a binary to char in C
编辑:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char *data = "01010110";
char c = strtol(data, 0, 2);
printf("%s = %c = %d = 0x%.2X\n", data, c, c, c);
return(0);
}