二进制流中的 IANA 图像格式字符串

二进制流中的 IANA 图像格式字符串

怎样才能得到官方的IANA 图像媒体类型(如果有)二进制流?我想在处理图像时避免信任文件扩展名和模糊的猜测。最好使用一些常用工具(如 ImageMagick's)的命令identify,或者如果需要的话使用一些编程语言。

答案1

你可以使用file命令。默认情况下,它在大多数 Linux 发行版上可用,您可以通过以下方式获取 Windows 版本:GnuWin32文件包

调用它:

$ file --mime-type clock.png 
clock.png: image/png

请注意,它并不是 100% 准确的——我认为任何事情都不能从理论上实现。

如果你想在代码中做到这一点,那么libmagic它提供了一个API。它可以处理文件或内存缓冲区。 (file在 Linux 上使用它。)

相关内容