永发信息网

如何使用C语言将一个二进制的文件转换为对应的字符文件,我的想法是二进制——ASCII--字符,谢谢大家了。

答案:2  悬赏:70  手机版
解决时间 2021-03-21 23:33
  • 提问者网友:遮云壑
  • 2021-03-21 15:05
如何使用C语言将一个二进制的文件转换为对应的字符文件,我的想法是二进制——ASCII--字符,谢谢大家了。
最佳答案
  • 五星知识达人网友:愁杀梦里人
  • 2021-03-21 16:23
ascii字符总共128个,有相当一部分的是控制字符,不可显示,如回车,你怎么表示?那么NULL呢?
那另外没有标准规定的128个呢?每个8位字节最大表示范围为256个.
linux环境下od命令可能有你想要的结果.如: od -c a.out
结果节选(第一列为偏移):
0015400 244 206 004 \b F 001 \0 \0 022 \0 \r \0 240 003 \0 \0
0015420 020 205 004 \b \0 \0 \0 \0 022 \0 \v \0 \0 c r t
全部回答
  • 1楼网友:三千妖杀
  • 2021-03-21 16:43
ascii字符值范围是0x00到0x7f。因为有不可见和键盘不好拍的字符。所以你可用整型数输入。 unsigned char a[100],b[100]; unsigned char x,y,z; scanf("%d",&a[i]); if (a[i] > 0x7f || a[i] < 0) 重输; 加减运算 就用算数表达式。例如 y = a[1]+a[2]; b[2] = a[1] + a[2] - a[3]; unsigned char 就是8bit无符号整数。 加减运算后很可能超界,即大于0x7f或小于0。 加减运算后的字符很可能是不可打印字符,或“看不见”的字符。 所以你的题目有问题。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯