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

一、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博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用正则表达式或者第三方库moment.js来判断是否符合指定的日期格式。 1. 使用正则表达式 以下是一个简单的正则表达式可以匹配形如"2023-05-31 00:00:00"的日期格式: ```javascript const dateRegex = /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/; ``` 这个正则表达式可以匹配形如"2023-05-31 00:00:00"的日期格式,其中"2023"表示年份,"05"表示月份,"31"表示日期,"00"表示小时数,"00"表示分钟数,"00"表示秒数。使用时,可以通过test()方法将待匹配的字符串作为参数传入,如下所示: ```javascript const dateString = "2023-05-31 00:00:00"; if (dateRegex.test(dateString)) { console.log("是日期格式"); } else { console.log("不是日期格式"); } ``` 2. 使用moment.js moment.js是一个非常方便的日期处理库,可以用于解析、格式化和操作日期。你可以使用moment.js来解析指定的日期格式,如下所示: ```javascript const dateString = "2023-05-31 00:00:00"; const formatString = "YYYY-MM-DD HH:mm:ss"; if (moment(dateString, formatString).isValid()) { console.log("是日期格式"); } else { console.log("不是日期格式"); } ``` 在上面的代码中,我们首先定义了一个待校验的日期字符串dateString和一个日期格式字符串formatString,然后使用moment()方法将日期字符串和日期格式字符串作为参数传入,生成一个moment对象。最后,使用isValid()方法判断生成的moment对象是否有效,如果有效则表示符合指定的日期格式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值