文件扩展名检测机制

时间:2015-05-27 08:51:08

标签: file extension-methods

应用程序如何检测文件扩展名?

我知道每个文件都有包含与该文件相关的所有信息的标头。 我的问题是应用程序将如何使用该标头来检测该文件?

文件系统中的每个文件都与它关联一些元数据,例如,如果我将音频文件的扩展名从.mp3更改为.txt然后我用VLC打开该文件,但VLC仍能播放该文件。 我发现每个文件都有标题部分,其中包含与该文件相关的所有信息。 我想知道如何访问该标题?

1 个答案:

答案 0 :(得分:1)

只是为了提供更多细节:

文件扩展名基本上是一种指示数据格式的方式(例如,TIFF图像文件具有format specification)。

这样,应用程序可以检查它处理的文件是否格式正确。

某些应用程序不检查(或接受错误的)文件格式,只是尝试将它们用作所需的格式。因此,对于您的.mp3文件,只需将扩展程序更改为.txt即可更改此文件中的数据

当VLC逐字节读取.txt并将其解释为.mp3时,它只能从该文件中提取正确的音乐数据。

现在有些文件包含一个标题,用于额外验证文件中数据的格式。例如,unicode文本文件(应该)包含BOM,以指示如何处理文件中的数据。通过这种方式,应用程序可以检查标头标记是否与预期的标头匹配,因此它确定您的' .txt`文件实际上包含' mp3'格式。

现在有很多应用程序可以读取这些标头标签,但它们通常特定于每种格式。例如TIFF Tag Viewer(我过去用它来检查我的TIFF文件中的标题标记)。

或者您可以使用某种hex viewer打开文件,然后查看每个字节的格式规范,或者在Google上搜索要查看它们的格式的标题查看器。< / p>