我最近在 Notepad++ 中打开了 2 个相同的位图图像,其中一个标题以此标题开头:
‘大熊猫' 另一个是:'咿~‘
这是为什么?
答案1
这不是整个标题 - 实际上它是标题的一个半字段。
以下是标题格式来自维基百科:
偏移量 | 尺寸 | 目的 |
---|---|---|
0 | 2 个字节 | 用于标识 BMP 和 DIB 文件的标头字段为十六进制的 0x42 0x4D,与 ASCII 中的 BM 相同。可能的条目如下: - BM - Windows 3.1x、95、NT 等。- BA - OS/2 结构位图数组- CI - OS/2 结构颜色图标- CP - OS/2 const 颜色指针- IC - OS/2 结构图标- PT - OS/2 指针 |
2 | 4字节 | BMP 文件的大小(以字节为单位) |
6 | 2 个字节 | 保留;实际值取决于创建图像的应用程序,如果手动创建可以为 0 |
8 | 2 个字节 | 保留;实际值取决于创建图像的应用程序,如果手动创建可以为 0 |
10 | 4字节 | 可以找到位图图像数据(像素数组)的字节的偏移量,即可起始地址。 |
BM
是第一个字段的值。第三个“字符”实际上是第二个字段(BMP 的大小,以字节为单位)的第一个字节,被错误地解释为文本。
答案2
因为标题既不是大熊猫也不咿~。 这是马来亚。您的位图毕竟是不完全相同的。
这在BITMAPFILEHEADER 结构:“文件类型;必须为 BM。”
答案3
在标头中,前 2 个字节必须是“BM”,这就是您所得到的。
接下来的 4 个字节存储文件的大小,巧合的是,在您的情况下,它看起来像“P”或“~”。
您可以尝试获取 4 个位置的原始字节数并计算文件大小。它应该与磁盘上的文件大小相匹配。
或者,使用图像工具处理标题并提取文件大小,然后进行比较。