二进制文件和文本文件的区别 :https://www.jianshu.com/p/af0b4f8b030e
(1)文本文件
基于字符编码的文件,常见的编码有 ASCII 编码,UNICODE 编码
只能存储 char 型字符变量
数据通常是固定长度,以ASCII为例,每个字符都是1个字节
文本文件编辑器就可以读写
进行编辑的最小单位是字节(byte)
纯文本文件没有控制格式的信息,实际上也是一种特殊的二进制文件
(2)二进制文件
- 基于值编码的文件
- 可以存储 char/int/short/long/float/……各种变量值
- 不同变量占据长度不同,short占两个字节,int占四个字节,float占8个字节……
- 二进制文件需要特别的解码器,比如bmp文件需要图像查看器,rmvb需要播放器
- 进行编辑的最小单位则是位(bit)(但,不会直接通过手工的方式对二进制文件进行编辑)
- 二进制文件,都往往有一个头 head,提供文件信息和解释方式
记事本只能够识别字符类型,支持文本文件而不支持二进制文件。如果用记事本打开文本文件一切正常,如果打开的是二进制文件就会出现乱码,但也有不乱码的地方,那些地方都是字符编码的,而对于int、double 等类型所对应的值都是乱码的。
PS:字符编码有 ASCII、Unicode、GBK 和 UTF-8