我想检测对象的文件类型,以确定压缩文件的正确连接(例如是否使用 bzfile
gzfile
、xzfile
等。显然我可以根据文件扩展名“猜测”,但我的理解是检查 magic number 会更可靠(尽管我有点不清楚这是否可以移植到基于 Windows 的操作系统)架构?)
如何返回文件的魔数(Magic Number)以确定它是否确实是 BZh
?
请注意,我想要一个适合在包开发中使用的解决方案;例如将尽可能跨操作系统移植,而不是特定于 *nix 系统。
最佳答案
Github 上有几个软件包以某种方式使用 libmagic:
- https://github.com/hrbrmstr/wand :在 *nix 上包装
libmagic
并使用 Windows 上 Rtools 的file.exe
。 - https://github.com/hrbrmstr/simplemagic :仅使用
magic.mgc
子集的 R 解决方案。 - https://github.com/daqana/dqmagic :在 *nix 上包装
libmagic
并在 Windows 上编译libmagic
(参见 https://github.com/daqana/dqmagic/tree/windows )
关于r - 如何在 R 中检查文件的魔数(Magic Number)(或十六进制签名)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50786456/