linux怎么区别文本文件和二进制文件

2024-11-20 22:26:30
推荐回答(3个)
回答1:

linux的文本文件与二进制文件的区分与windows的区分是相同的!
说到底计算机存储的文件都是以二进制形式存储的,但是区别是,习惯上认为:

(1)、文本文件

文本文件是包含用户可读信息的文件。这些文件以ASCII码方式存储,可显示和打印。文本文件的行不能包括空字符(即码中的NULL),行的最大长度(包括换行符在内)也不能超过(LINE_MAX)所定义的字节数。不过文本文件中并不限制使用除空字符以外的控制字符或其它不可打印字符。

(2)、二进制文件(实际上这种说法不准确,因为文本文件也是用二进制代码存放的,称为非文本文件比较好)

二进制文件是包含计算机可读信息的文件。二进制文件可以是可执行的文件,使系统根据其中的指令完成某项工作。命令和程序都是以可执行的而进制文件方式存储。二进制文件没有行的长度限制,也可包含空字符。

回答2:

在window中文本文件和二进制文件在处理回车换行符时是有区别的:文本方式写时,每遇到一个'\n'换行符,将其换成'\r\n'回车换行,然后再写入文件;当文本读取时,它每遇到一个'\r\n'回车换行,会将其反变化为'\n'换行。而二进制文件没有这样的转换处理。但在Linux中文本文件和二进制文件的处理上二者没有区别,例如在Linux中用fopen("a.txt","r")(文本方式打开)和fopen("a.txt","rb")(二进制方式打开)两个函数是一样的。

回答3:

用file 命令就可查出该文件是二进制还是文本文件