从一个JFIF图像收集信息工作的扫描开始的最后2个字节我创建了使用Java:什么是一个JPEG/JFIF图像
Image bmp = ImageIO.read(new File("Background1.png"))
.getScaledInstance(624, 416, Image.SCALE_SMOOTH);
BufferedImage tmpBufferedImage = new BufferedImage(bmp.getWidth(null), bmp.getHeight(null),
BufferedImage.TYPE_USHORT_565_RGB);
Graphics2D g = tmpBufferedImage.createGraphics();
g.drawImage(bmp, 0, 0, null);
g.dispose();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(tmpBufferedImage, "jpg", baos);
.... Written to file later.
我已经创建了几个图片和标题是相同的除了刚好在数据之前。以下是一些标题示例。
FF D8 FF...FF DA 00 0C 03 01 00 02 11 03 11 00 3F 00 F3 EA
FF D8 FF...FF DA 00 0C 03 01 00 02 11 03 11 00 3F 00 F7 FA
FF D8 FF...FF DA 00 0C 03 01 00 02 11 03 11 00 3F 00 E2 E8
FF D8 FF...FF DA 00 0C 03 01 00 02 11 03 11 00 3F 00 F9 FE
紧随其后的是压缩数据并以FF D9结束。
根据我在JPEG/JFIF上阅读的所有内容,FF DA之后的所有内容都是压缩数据,但为什么00 0C 03 01 00 02 11 03 11 00 3F 00总是在每个图像中?另外,如果有人知道,那最后两个字节是什么?我做了几个单色图像,它们都有一个重复的序列,在最后两个字节之后开始,这让我认为它们必须是某种标题信息。
问题:这12个字节(0C ... 00)是什么,特别是最后2个字节是什么?
更新:所以这些字节被称为扫描开始,我已经找到了一些文件。 00 0C是一个长度(12),这是合理的,因为它加起来就是有问题的字节。关于接下来的8个字节还有一些其他信息,但最后一些我仍然不确定。
最终:这是一个兔子洞,但我要留下的问题,以防有人追逐同一只兔子。最后的两个字节是扫描数据的一部分,因为00 0c显然包含在12字节的计数中。另一位用户在另一个问题上指出了这一点。
你真的不是在询问标题中的最后14个字节(如在标题中);你更关心数据的前14个字节。 –
我更新了我的标题并添加了其他信息 –