我有一个小的字节数组(小于25K),作为一个较大消息包的一部分接收并解码。有时候这是一张图片,而且它是JPG格式的。我没有其他上下文信息,只有这个字节数组,并且需要确定它是否是一张图片以及图片类型是否为JPG。
有没有某些神奇的数字或字节存在于开头、结尾或某个偏移量处,我可以查看以识别它呢?
我的代码示例类似于以下内容(从记忆中而非复制粘贴):
byte[] messageBytesAfterDecode = retrieveBytesFromEnvelope();
if(null != messageBytesAfterDecode && messageBytesAfterDecode > 0){
if(areTheseBytesAJpeg(messageBytesAfterDecode)){
doSomethingWithAJpeg(messageBytesAfterDecode)
}else{
flagEnvelopeAsHavingBadContentInTheField();
}
}
我非常需要填写在
areTheseBytesAJpeg(byte[] mBytes){}
我需要一个方法,或者一个指向详细说明的规范的指针。我希望有一种非常快速的方法来确定这一点,因为我不想将它们读入到图像中等等。