在Windows中识别文件类型

meg*_*son 5 windows filesystems file-type

Linux操作系统通过在标头的开头查看其幻数来识别文件.Windows是如何做到的?它是否也有某种神奇的数字机制,还是只依赖于文件扩展名?

Pis*_*3.0 5

它仅依赖于文件系统提供的扩展; 不检查文件的内容.参见例如本文 - 它讨论的是Windows XP,但AFAIK到目前为止所有已发布的Windows版本都共享了一般行为:http://support.microsoft.com/kb/307859

  • @megson:不,它*读取*幻数 - 换句话说,检查文件以查看它类似的已知格式.例如,任何GIF文件必须以字符串`GIF`开头; 通过查看文件,我可以推断,如果它以GIF(和其他各种启发式)开头,它可能是一个GIF文件."神奇的数字"就是这个 - 已知文件格式的特征部分的集合,而不是一些额外的元数据.http://en.wikipedia.org/wiki/Magic_number_(programming)#Magic_numbers_in_files (5认同)
  • @megson 8.3限制与此无关.这只是当天文件系统的设计选择.现代文件系统仍然有限制,它们只是更大. (2认同)
  • 那么当linux从windows接收文件以包含新的幻数时,linux是否会修改文件头? (2认同)