将C字符串转换为二进制表示
发布时间:2020-12-16 10:29:08 所属栏目:百科 来源:网络整理
导读:在ANSI C中,我们如何将字符串转换为二进制字节数组? 所有的谷歌搜索和搜索给了我C和其他人的答案,而不是C. 我的一个想法是将字符串转换为ASCII,然后将每个ASCII值转换为二进制. (呃!)我知道这是最愚蠢的想法,但我不确定任何其他选择. 我听说过Java中的编码
在ANSI C中,我们如何将字符串转换为二进制字节数组?
所有的谷歌搜索和搜索给了我C和其他人的答案,而不是C. 我的一个想法是将字符串转换为ASCII,然后将每个ASCII值转换为二进制. (呃!)我知道这是最愚蠢的想法,但我不确定任何其他选择. 我听说过Java中的编码功能.我不确定这是否符合相同的目的,可以采用C. string = "Hello" bytearr[] = 10100101... some byte array.. 如果有人可以对此有所了解,那就太好了. 谢谢! 解决方法
或者你的意思是如何将C字符串转换为二进制表示?
这是一个可以将字符串转换为二进制表示的解决方案.可以很容易地将其更改为将二进制字符串保存为字符串数组. #include <stdio.h> 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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |