文本文件中的字符以a Windows extension或ASCII的格式编码--记事本中的每个字符对应一个字节。你看到的就是你得到的。 一般来说,在Windows系统上,文本文件和二进制文件之间有很大的区别。在Unix/Linux系统上,这种区别比较模糊.你可以说事实上没有区别 在Windows系统上,通过文件扩展名来强制区分。所有扩展名为“.TXT”的文件都被假定为文本文件(即,仅包含表示可见字符的十六进制代码,其中“可见”包括空白)。 二进制文件是一个完全不同的水壶的鱼。正如您提到的,大多数都包含某种描述后续数据如何编码的头部。根据数据类型的不同,这些头的大小可能会有很大的不同(同样,假设在Windows系统和Unix系统上都是由扩展名指示的)。一个简单的例子是用于未压缩音频的WAV format。如果你在十六进制编辑程序中打开一个WAV文件,你会看到前四个字节是“RIFF”--这是一个标记,通常被称为“幻数”,即使它是可读的文本,表明内容是一个音频文件。较新版本的WAV规范在某种程度上使其复杂化,但最初的WAV头只是“RIFF”标记加上十几个字节,指示以下数据的采样率。(您可以通过将音频CD上轨道中的原始数据与通过以44.1 KHz翻录该轨道的未压缩副本创建的WAV文件进行比较来看到这一点-数据应该是相同的,只是在WAV文件的开头添加了标题部分。 可执行文件(编译程序)是一种特殊类型的二进制文件,但它们遵循大致相同的方案,即头文件后跟规定格式的数据。不过,在这种情况下,“数据”是可执行的机器代码,并且头指示文件在哪个操作系统上运行。(例如,大多数Linux可执行文件begin with the characters "ELF"。)
1条答案
按热度按时间1cklez4t1#
文本文件中的字符以a Windows extension或ASCII的格式编码--记事本中的每个字符对应一个字节。你看到的就是你得到的。
一般来说,在Windows系统上,文本文件和二进制文件之间有很大的区别。在Unix/Linux系统上,这种区别比较模糊.你可以说事实上没有区别
在Windows系统上,通过文件扩展名来强制区分。所有扩展名为“.TXT”的文件都被假定为文本文件(即,仅包含表示可见字符的十六进制代码,其中“可见”包括空白)。
二进制文件是一个完全不同的水壶的鱼。正如您提到的,大多数都包含某种描述后续数据如何编码的头部。根据数据类型的不同,这些头的大小可能会有很大的不同(同样,假设在Windows系统和Unix系统上都是由扩展名指示的)。一个简单的例子是用于未压缩音频的WAV format。如果你在十六进制编辑程序中打开一个WAV文件,你会看到前四个字节是“RIFF”--这是一个标记,通常被称为“幻数”,即使它是可读的文本,表明内容是一个音频文件。较新版本的WAV规范在某种程度上使其复杂化,但最初的WAV头只是“RIFF”标记加上十几个字节,指示以下数据的采样率。(您可以通过将音频CD上轨道中的原始数据与通过以44.1 KHz翻录该轨道的未压缩副本创建的WAV文件进行比较来看到这一点-数据应该是相同的,只是在WAV文件的开头添加了标题部分。
可执行文件(编译程序)是一种特殊类型的二进制文件,但它们遵循大致相同的方案,即头文件后跟规定格式的数据。不过,在这种情况下,“数据”是可执行的机器代码,并且头指示文件在哪个操作系统上运行。(例如,大多数Linux可执行文件begin with the characters "ELF"。)