或者你的意思是如何将C字符串转换为二进制表示?
这是一个可以将字符串转换为二进制表示的解决方案.可以很容易地将其更改为将二进制字符串保存为字符串数组.
#include
int main(int argc, char *argv[])
{
if(argv[1] == NULL) return 0; /* no input string */
char *ptr = argv[1];
int i;
for(; *ptr != 0; ++ptr)
{
printf("%c => ", *ptr);
/* perform bitwise AND for every bit of the character */
for(i = 7; i >= 0; --i)
(*ptr & 1 << i) ? putchar('1') : putchar('0');
putchar('\n');
}
return 0;
}
示例输入&输出:
./ascii2bin你好
h => 01101000
e => 01100101
l => 01101100
l => 01101100
o => 01101111