电脑里很多文件,例如,word,excel,txt,jpg,应用软件怎么区分文件类型呢?
即使word文档,也是分为doc和docx,编码格式都不一样,office也需要区分不同的类型,再进行解码。
如果把一个word文档的后缀改成jgp,图片软件打开的时候就会报错。但是文件后缀是可以随便更改的,为了规范化,除了文件后缀之外,还需要一个方法来表示文件真正的类型。
魔数(magic number),因此而出现,魔数用于表示不同的文件类型。
在文件开头预留几个字节,存入魔数,应用软件在打开这个文件的时候,就能判断是否是支持的文件类型了。
比如,一个JPEG文件,它开头的一些字节可能是类似这样的”ffd8 ffe0 0010 4a46 4946 0001 0101 0047 ……JFIF…..G“,这里”ffd8“就表示了这个文件是一个JPEG类型的文件,”ffe0“表示这是JFIF类型结构。
魔数作用非常大:
1,有些文件没了后缀,需要先找到具体的类型,修改后缀才能打开。
2,文件操作中为了兼容错误,出现一些异常。例如一个word文档,本来是doc格式,兼容保存为docx后缀,但是实际上格式没变。用office或者wps打开是没问题的,但是自己写代码做点功能的时候&