我有一个最初在Finder中命名为'foo'的文件。如果我'获取文件的信息',Finder会将其识别为“种类:纯文本”。如果我将文件重命名为'foo.png',则Finder会将其识别为“Kind:Portable Network Graphics image”。如果我将文件重命名为'foo',Finder仍然会将其识别为“Kind:Portable Networks Graphics image”(不是我预期的纯文本)。
Mac OS X如何识别文件类型?
答案 0 :(得分:2)
文件中的幻数通常是它的工作原理。例如,PNG文件有一个标题,用于将其标识为PNG,而不是其他文件格式。 Wikipedia有更多信息。
答案 1 :(得分:1)
因为* NIX系统(如Mac OS X)不依赖扩展来识别文件类型。他们依赖于一个名为Magic Number的东西(如果我记得很清楚),也就是说,他们会搜索在这些类型的文件中找到的常见模式(例如标题,标签,元信息等),并且他们会识别它们。
答案 2 :(得分:1)
我不知道它是如何工作的,但我可以想象,直到你将文件重命名为foo.png
Finder不知道并且不关心它是什么类型。但是在你重命名之后,Finder将它的类型存储在某个地方(也许是.DS_Store
?)和inode ID,这样即使你再次重命名它也可以识别这个文件。