在C中从二进制转换为char

Jor*_*dan 9 c binary type-conversion char character-encoding

我对如何从二进制值转换为c中的char感到困惑.

例如,假设我有01010110,并希望从中打印相应的字母'V'.我该怎么做呢?

谢谢你的帮助!

Jon*_*ler 14

#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);
}
Run Code Online (Sandbox Code Playgroud)

输出:

01010110 = V = 86 = 0x56
Run Code Online (Sandbox Code Playgroud)

参考文献:


fba*_*ipe 6

您可以使用strtol()来解析字符串上的数字。最后一个参数(在本例中为 2)是转换的基数。

char c = strtol("01010110", (char **)NULL, 2);
Run Code Online (Sandbox Code Playgroud)

有关此和其他数字解析函数的更多信息,请访问此处