【发布时间】:2011-05-31 19:41:57
【问题描述】:
我有一个小字节数组(小于 25K),我将其作为较大消息信封的一部分进行接收和解码。有时这是一个图像,而且它是一个 JPG。除了字节数组之外,我没有上下文信息,并且需要识别它是否是图像,以及图像是否为 JPG 类型。
在开头、结尾或某个偏移处是否存在一些幻数或幻字节,我可以通过查看来识别它?
我的代码示例如下所示(来自内存,而不是 c/p):
byte[] messageBytesAfterDecode = retrieveBytesFromEnvelope();
if(null != messageBytesAfterDecode && messageBytesAfterDecode > 0){
if(areTheseBytesAJpeg(messageBytesAfterDecode)){
doSomethingWithAJpeg(messageBytesAfterDecode)
}else{
flagEnvelopeAsHavingBadContentInTheField();
}
}
我真的需要什么进入
areTheseBytesAJpeg(byte[] mBytes){}
方法,甚至是指向详细说明它的规范的指针。我希望有一种非常快速的方法来做出这个决定,因为我真的不想将它们读入图像等。
【问题讨论】: