windows 了解二进制文件

amrnrhlw  于 2023-10-22  发布在  Windows
关注(0)|答案(1)|浏览(181)

我在一个.txt文件中写了“蓝贼”:

信息如何以十六进制格式存储?文本是如何转换成这些字符的?我听说二进制文件包含头,ftm和数据。这是否仅适用于音频和视频等多媒体文件?因为在这个文件里除了data我什么都没看到。

1cklez4t

1cklez4t1#

文本文件中的字符以a Windows extensionASCII的格式编码--记事本中的每个字符对应一个字节。你看到的就是你得到的。
一般来说,在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"。)

相关问题