来源:
【http://www.cnblogs.com/zhangjiankun/archive/2011/11/27/2265184.html】
【http://blog.csdn.net/bily1984/article/details/3182035】
计算机只识别二进制0,1,无论是文件文件和二进制文件在物理存储上是二进制的,这里的区别是属于逻辑存储区别。
文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思(这样一个过程,可以看作是自定义编码)
文本文件基本上是定长编码的(也有非定长的编码如UTF-8),基于字符嘛,每个字符在具体编码中是固定的,ASCII码是8个比特的编码,UNICODE一般占16个比特。
二进制文件可看成是变长编码的,因为是值编码嘛,多少个比特代表一个值,完全由你决定。
举例(BMP)说明:
其头部是较为固定长度的文件头信息,前2字节用来记录文件为BMP格式,接下来的8个字节用来记录文件长度,再接下来的4字节用来记录bmp文件头的长度。。。大家可以看出来了吧,其编码是基于值的(不定长的,2、4、8字节长的值都有),所以BMP是二进制文件。<