2023-02-24 androd java 校验获取的jpg图片数据是否是有效的

一、JPEG的全称是JointPhotographicExpertsGroup(联合图像专家小组),它是一种常用的图像存储格式。

二、一张jpg格式图片十六进制查看如下:

一、文件头
    JPEG文件的开始2个字节都是FF D8这是JPEG协议规定的

二、JFIF是JPEG File Interchange Forma的缩写,即JPEG文件交换格式。

三、文件尾
    D9 一个字节

 

三、android app 里面获取到jpg图片数据加以校验代码

    public boolean is_image_jpeg(byte[] b ,int len)
    {
        if((b[0] == (byte)0xFF) && (b[1] == (byte)0xD8) && (b[2] == (byte)0xFF)   //head  255  216  255  74  70  73  70  255  217
                && (b[6] == 0x4A) && (b[7] == 0x46) && (b[8] == 0x49) && (b[9] == 0x46)//ASCII "JFIF" JFIF是JPEG File Interchange Forma
                && (b[len -2] == (byte)0xFF) && (b[len -1] == (byte)0xD9)) //end
              return true;
        else
              return false;
    }

四、参考文章

JPEG图像格式解析_jpeg格式解析_linux_dafei的博客-CSDN博客

https://www.cnblogs.com/liangzige/p/15172324.html

JPG文件格式分析_wx63b644a53b596的技术博客_51CTO博客

jpeg图片格式详解_jpeg格式_460833359的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/qq_37858386/article/details/129206043