如何确定图像的编码

How to determine an image's encoding

我有一张带有 PNG 扩展名的图片。

不过我怀疑它不是真正的 PNG(我认为它可能是 GIF)。

如何确认图像的编码?

注意: Windows 的解决方案更可取

在 Linux 上,您可以使用 file 命令

$ file branches.gif
branches.gif: PNG image data, 1257 x 782, 8-bit/color RGBA, non-interlaced

或名为 identify

的 imagemagic 部分
identify branches.gif
branches.gif PNG 1257x782 1257x782+0+0 8-bit sRGB 114KB 0.000u 0:00.000

您需要快速检查文件的内部结构。

PNG 图像的前 8 个字节总是

137 80 78 71 13 10 26 10

非恶意非 PNG 具有相同的 8 个字节的可能性很小。

对于 windows 在文本编辑器中打开文件,例如崇高,第一部分应该是 png 幻数 89 50 4e 47 0d 0a 1a 0a.