读取二进制文件的内容

qllillp001 2012-12-19 11:10:52
我这有个二进制文件,里面是乱码。我想将里面的内容以正常字符形式读出来。用c或者c++该如何做。
这个二进制文件存储的是图片的像素值。
...全文
170 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
roger_ding 2012-12-19
  • 打赏
  • 举报
回复
计算机没有所谓的乱码,都是二进制数据(实际是16进制数据),何况你打开的是图像文件,建议你还是学好计算机基础
qllillp001 2012-12-19
  • 打赏
  • 举报
回复
引用 2 楼 roger_ding 的回复:
任何一个打开文件,读取文件的函数都能读出来,Windows上一般用CreateFile,ReadFile
我的代码如下: if((f = fopen("face00001.pgm", "rb")) == NULL) { printf("open %s error,please check\n"); return; } fread(pgminfo, sizeof(unsigned char), 19*19+13, f); 但是pgminfo里面的内容还是乱码
roger_ding 2012-12-19
  • 打赏
  • 举报
回复
任何一个打开文件,读取文件的函数都能读出来,Windows上一般用CreateFile,ReadFile
baichi4141 2012-12-19
  • 打赏
  • 举报
回复
啥叫正常字符?乱码也是正常字符,只不过和你熟悉的自然语言对不上而已。 一串日文平假名在只懂中文的人眼中就是乱码,说乱码这个词之前先想清楚。
qllillp001 2012-12-19
  • 打赏
  • 举报
回复
问题解决了,数据其实已经得到了,我只是执着于显示。
liuhaopen 2012-12-19
  • 打赏
  • 举报
回复
计算机里的数据都是0和1,它是什么东西只在于我们怎样解读,比如ASCII格式把001解读成A,把002解读成B,图片格式把001解读成红色像素点,002为绿色。(注:实际上二进制串没这么短,通常以8个为单位,但思想都一样)

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧