泻药&挖坟。.bin 是个万能的后缀,就是说啊,许多软件的作者如果写数据文件的时候(跟我一样)起名困难,很可能不知道该把自己的软件存出来的文件叫做什么格式,于是啊,既然是二进制存储的,不如就叫 .bin 吧。
所以,当你看到一个 .bin 格式的文件时,一方面可以先在心里默默咒骂一下软件作者,另外一方面,可以视图通过 magic number 猜测这是个什么文件。unix 下的 file 程序就是专门通过文件头部信息跟 magic number 来猜测文件格式的。猜到之后,就可以试试通过具体的格式是否能够找到对应的软件了。
然而,毕竟还有可能遇到这种情况,file 完全猜不到(或者只说是二进制数据)或者 bin 文件根本就没有文件头,这时候可能这个 bin 其实是个 dat 文件(咦怎么又多了个坑),比如只存储了文件的数据部分,本身不负责解释文件中数据的顺序跟大小。在这种情况下,要找到文件头,大部分情况下会有一个完全一样文件名,但后缀不同的东西,看里面有没有讲数据的存储格式,并通过相应软件甚至自己写把数据读出来。
另外,其实不管什么格式,毕竟存完之后都是二进制,随便一个hex编辑器都能打开(当然 vim 也可以当hex编辑器用)。
最后,对于文件名后缀这个东西…它是跟着文件名走的,跟文件内容分离,所以完全可以不管内容自己乱改。比如随便一个 txt,exe,zip,……,都可以自己改成 bin 而不伤害身体。这也是为啥 unix 下会存在 file 这种应用的原因。所以说,拿到一个文件的后缀是 bin 完全不用紧张嘛,管它是啥,先file 一下再说。