急问:二进制文件和文本文件的区别?

baryjim 2005-05-18 05:44:11
例如18
在二进制文件中是:0001 0010
在文本 文件中是:0000 0001 0000 1000

不知道我说的对不?
...全文
1093 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
cppprogramlover 2005-05-19
  • 打赏
  • 举报
回复
呵呵,楼上说的很好
如果读ascii,你可以把14当成 int 14,也可以是 "14",甚至更多解释方法
很多细节是再标准库上解决的,都不用到文件系统那一级别
herryhuang 2005-05-19
  • 打赏
  • 举报
回复
没有区别,从文件系统的角度,所有的文件都是一个顺序的比特集合,区别在于程序如何解读这些数据,一段数据可以看成是文本,图像或者声音。

nicknide 2005-05-18
  • 打赏
  • 举报
回复
上面的0x0011 0001
错了
应该就是
0011 0001
nicknide 2005-05-18
  • 打赏
  • 举报
回复
ft

数据就是数据,关键看你怎么使用了,如果说区别,就是文本文件载入的时候,会把回车换行2个符号转换成回车符号,而吃掉换行符,存盘的时候把这个吃掉的换行符吐回去...

至于也可以把文本文件当初数据文件来读,纯粹是看应用了。
就好比有人问10进制,16进制的区别,纯粹就是一回事 !!!

都是数据,只不过看问题的角度不同而已,只是你观察角度不同而已。他们都是一样的。
好比'1'
你用文本文件看是'1',你用16进制工具看是0x31
实际上都是0x31,或者是0x0011 0001
qingyuan18 2005-05-18
  • 打赏
  • 举报
回复
大哥,在计算机中哪个文件不是二进制的?所谓文本,UNicode都是编码方式,按某种编码方式读出来的时候才产生的不同啊!
ganbaba 2005-05-18
  • 打赏
  • 举报
回复
二进制就是0101001之类,文本文件就是你平时看到的普通文件,顶一天到晚游泳的鱼
zhang_jiang 2005-05-18
  • 打赏
  • 举报
回复
赞同junguo(junguo)
大熊猫侯佩 2005-05-18
  • 打赏
  • 举报
回复
请用 二进制 工具查看~~~
baryjim 2005-05-18
  • 打赏
  • 举报
回复
字符串在二进制文件中如何存储哪?
例如“abc”
csan 2005-05-18
  • 打赏
  • 举报
回复
用二进制的读取方法将一个文本文件读取打开后,再比较该内容的二进制编码,你会发现区别,不同的文件格式里面内容都不一样,但都有规律,你再试试Unicode,UTF。。。就明白了
junguo 2005-05-18
  • 打赏
  • 举报
回复
是这样的!
但并不完全正确,因为文本文件对应的是ascii码,而1的ascii码应该是16进制的31,所以1保存成文本文件应该是0010 0001。



qfeng_zhao 2005-05-18
  • 打赏
  • 举报
回复
搂主说得对!

  文本文件也称ASCII文件,在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为:
ASC码:  00110101 00110110 00110111 00111000
     ↓     ↓    ↓    ↓
十进制码: 5     6    7    8 共占用4个字节。ASCII码文件可在屏幕上按字符显示, 例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。 由于是按字符显示,因此能读懂文件内容。

  二进制文件是按二进制的编码方式来存放文件的。 例如, 数5678的存储形式为: 00010110 00101110只占二个字节。二进制文件虽然也可在屏幕上显示, 但其内容无法读懂。C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。 输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。 因此也把这种文件称作“流式文件”。
lbing7 2005-05-18
  • 打赏
  • 举报
回复
好象二进制文件是直接就是内存里面的存在形式

文本文件在读写的时候系统会自动的转换

69,383

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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