Blog Detail

  • 通过文件头判断图片格式

    有些情况下,图片的后缀并不能真实的反应图片的格式,通过16进制能准确的判断出图片的真实格式。

    事实上,所有的文件都是以二进制的形式进行存储的,本质上没有差别。在每一个文件(包括图片,视频或其他的非ASCII文件)的开头(十六进制表示)实际上都有一片区域来显示这个文件的实际用法,这就是文件头标志。

    1、16进制查看

    方法一:

    1、右键图片,选择Editplus; 2、选择编码格式:Hex viewer (16进制查看); 3、对比文件头,分析出图片真实的格式。

    方法二: 1、将一张图片的后缀修改成.txt,变成文本格式; 2、通过sublime打开这个TXT文件,显示就是十六进制码了;

    // 常见的图片 文件头标志:

    JPEG (jpg),文件头:FFD8FF

    PNG (png),文件头:89504E47

    GIF (gif),文件头:47494638

    TIFF (tif),文件头:49492A00

    Windows Bitmap (bmp),文件头:424D

    文件头标志 表格

    2、Base64查看(不准)

    可以通过在线工具,将图片转换为base64字符串。(仅供参考)头部信息如下:

    data:image/jpg;base64,/

    data:image/png;base64,/

    data:image/jpeg;base64,/

    ...

    补充说明: 图片转base64,是根据文件名的后缀生成头部信息。

    测试:将一个txt格式的文本强制改成.jpg,转换成base64时得到的头部信息是: data:image/jpg;base64,/…。