在看CSAPP的时候,有提到文本文件及二进制文件,书中介绍太少所以参考了一些资料,以下为个人理解的两者区别。
文本文件属于二进制文件,区别在于读取两者的规则不同。文本文件与二进制文件物理上的存储方式并无不同,都是二进制的。
比如某文件中内容是:
01000001_01000010_01000011_01000100(下划线_为增加可读性)
这是一个二进制文件。
当我们用ASCII码表去解读它的时候,可以得到:
ABCD
这时我们说它是文本文件。
所以,文本文件 = 二进制文件 + 编码规则
无论针对定长的编码方式(如ASCII),还是变长的编码方式(如UTF-8),文本文件都是在不同规则下对二进制文件的解读。同样扩展到图片的存取,信息的通讯,都是信息加上各种人为规定的解读方式。