鱼C论坛

 找回密码
 立即注册
查看: 1702|回复: 4

[已解决]文本文件和二进制文件有什么区别

[复制链接]
发表于 2017-6-24 08:41:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如题 谢谢
最佳答案
2017-6-24 10:13:50
总而概括就是
1: 文本文件  存放的是 ASCII编码 打开后人直接看得懂。
2:二进制文件 存放的是二进制 只有机器才识别的了,人要看就得先转换成ASCII编码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-24 09:46:53 | 显示全部楼层
换行 \n
对于不同平台的实现是不一样的
有的是用\r\n表示
用的是用\n表示

文本文件操作这些文件的时候
写入的时候 自动把代码里面的 \n 替换成对应的实现
比如 替换成 \r\n
读取的时候 自动把文件里面的 对应实现替换成\n
比如 把\r\n替换成\n

二进制文件就没有这样的操作
文件里面是什么 读写到的就是什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-24 10:03:32 | 显示全部楼层
对于文本文件和二进制文件,很多人依然稀里糊涂,即使懂了些编程的东西。有些有有些开发经验的,也不一定能说的清楚。对于初学者来说,这个也是一个非常重要的知识点。这里用图解的方式,一目了然的解释了两者的区别。

                               
登录/注册后可看大图

二进制文件和文本文件的区别图解分析

    图中有两个文件,一个是1.txt,一个是1.bin。分别表示,文本文件和二进制文件。文件的后缀名(扩展名)其实对于文件格式来说,没有影响。你也可以把1.bin改成1.any的扩展名。对于扩展名和文件格式的理解,请参考《你必须知道的程序那些事:扩展名和格式的区别》。
    这两个文件的区别,就在于文件内部存储的内容以及解释的方式。我们这里演示的是,两个文件在计算机中内部存储一模一样的内容,最终的数据结果却不一样。
    我们在1.txt文件中存储一个A字母。而在1.bin存入二进制的1000001。那么我们看到的,1.txt文件中就是一个大写字母A,而在1.bin文件中,读取出来后,将二进制数字转换成十进制,就是65.显然,两文件的内容不一样。
    那么我们在看看两个文件内部存储的数据是哪样的。
    这个文本文件使用ASCII编码,也就是说,我写入一个A,那么,最终存储时,需要将字符A去找对应的ASCII编码表中的字符编码,经过查找,发现编码为65.那么此时,存入计算机的就是将编码65存入。计算机内存或者硬盘都是二进制的,所以,要将十进制的65转换成二进制,就是1000001,存储的结果就是图中底部的加粗的二进制。1.txt文件就占了这么点空间。
    我们再来看1.bin文件。因为我们存储为二进制文件,那么就是说,我的文件数据是那样,就要存储的是哪样的。那么就将1000001直接存入硬盘或内存,这样也存入的底部加粗的这样。这里放在一块,你可以看到,存入的数据一模一样,都是1000001.然而,两个文件一个要存入的是字母A,一个要存入的是65数字。实际上是不一样的,然而在计算机内部存储的却是一样的。
    事实上,所谓的二进制文件和文本文件,只是一种解释计算机内部文件数据的方式而已。当然,也是存入数据的一种方式。两种文件的读写不一样。文本文件要编码存入,要解码读出。而二进制文件就是直接的读写。一个文件数据代表什么,实际上就看你用什么方式去解释了。
    假如你以ASCII编码形式,将1.bin的内容解释成文本,最终你也看到1.bin文件中存储的是字母A。如果你直接以二进制解释1.bin文件,就看到的是十进制的65数字。
    总结一下,二进制文件和文本文件的区别,就在于存储的方式(写入的方式)和读取的方式(解释的方式)来区别的。在计算机内部,都是二进制形式的数据存放。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2017-6-24 10:04:37 | 显示全部楼层
原文链接地址http://www.cjjjs.com/paper/gzsh/20158714945352.aspx
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-24 10:13:50 | 显示全部楼层    本楼为最佳答案   
总而概括就是
1: 文本文件  存放的是 ASCII编码 打开后人直接看得懂。
2:二进制文件 存放的是二进制 只有机器才识别的了,人要看就得先转换成ASCII编码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 09:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表