文本文件和二进制文件的区别是什么?

2024-11-20 22:17:42
推荐回答(2个)
回答1:

文本文件是指完全由可见字符组成的文件。所谓可见字符是指ASCII码为32到126的字符、回车符(ASCII码13)、换行符(ASCII码10)、制表符(ASCII码9)、以及所有汉字字符(当然也包括其他字符集如韩文、日文、阿拉伯文等等)。如果是Unicode文本,则还包括ASCII码0。
而二进制文件则有多种定义方式,广义的二进制文件是指电脑中的所有文件(包括文本文件),因为电脑中的所有文件其实都是以二进制方式存储的,也就是说每个字符(包括可见字符、控制字符)最终都是以0和1的形式存储在硬盘等介质中的(这也就是为什么说电脑只认识0和1这两个数字的原因);
而狭义的二进制文件则是相对于文本文件而言的,即只要文件中含有除可见字符之外的其他字符(主要是控制字符),就是二进制文件;
而比狭义的二进制文件更有特指性的定义方式则是指可执行文件(EXE)、库函数文件(DLL)、图片视频、数据库文件等等一切由程序代码、机器码、特定的二进制代码和数据等组成的有实际意义的文件。

回答2:

从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。

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

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