代码之家  ›  专栏  ›  技术社区  ›  Billy ONeal IS4

为什么文件格式有神奇的数字?

  •  4
  • Billy ONeal IS4  · 技术社区  · 15 年前

    这种神奇的价值观有什么作用?

    5 回复  |  直到 15 年前
        1
  •  8
  •   Ben Voigt    15 年前

    因为用户更改了文件扩展名,或者其他程序窃取了文件扩展名,所以它允许应用程序取消对未知格式文件的处理,而不是尽最大努力,最终还是失败。

        2
  •  7
  •   user464099    15 年前

    shell的最初想法是所有的“可执行文件”看起来都是一样的-不管文件是如何创建的,也不管应该使用什么程序来计算它。shell将查看文件的内容并确定适当的文件。微软走了过来,选择了一种不同的方法,文件扩展的时代就诞生了。为了让用户感觉更好,微软选择了“隐藏”这些扩展名,特洛伊木马文件的时代就诞生了,这些文件看起来是同一种类型,但实际上具有不同的扩展名,并由不同的文件处理。

        3
  •  2
  •   supercat    15 年前

    但至少用魔法不能完全阻止这一切。

    顺便说一句,试图猜测数据的格式通常是非常危险的。例如,假设有一个可能是日期的列表,格式为nn nn nn。如果一个人不知道日期是什么格式,那么可能有足够的信息来猜测格式(例如,如果其中一个记录是12-31-99,那么如果没有相反的信息,那么日期可能是mm-dd-yy),但是如果所有日期都在一个月的前12天内,数据很容易被误解。不过,假设数据前面有“MM-DD-YY”这样的东西。这样就可以减少误解的风险。

        4
  •  1
  •   Paul Butcher    15 年前

    快速识别文件的类型或其中的位置。

        5
  •  1
  •   Benoit    15 年前

    你的问题不应该是为什么文件格式有幻数,而是文件格式有幻数的优点是什么!

    • 通过读取磁盘可用空间来恢复删除文件的程序可以识别文件类型
    • 当你失去扩展时,程序 file
    • 文件格式的设计者认为,当应用程序可以轻松地确保他们正在读取具有良好格式的文件时,总是比较安全的。
    • 因为你有一个标题,所以把它放在页眉开头并不需要太多的成本。