¿Por qué una imagen .bmp tiene dos tipos de encabezados de archivo?

¿Por qué una imagen .bmp tiene dos tipos de encabezados de archivo?

Recientemente abrí 2 imágenes de mapa de bits idénticas en Notepad++. Un encabezado comienza con:

'bmb' y el otro con: 'Bm ~'

¿Porqué es eso?

Respuesta1

Este no es el encabezado completo, y en realidad es un campo y medio desde el encabezado.

Aquí está el formato del encabezado.de Wikipedia:

Disminución de compensación Tamaño Objetivo
0 2 bytes El campo de encabezado utilizado para identificar el archivo BMP y DIB es 0x42 0x4D en hexadecimal, igual que BM en ASCII. Son posibles las siguientes entradas:
- BM- Windows 3.1x, 95, NT, ... etc.
- BA- Matriz de mapa de bits de estructura OS/2
- CI- Icono de color de estructura OS/2
- - CPPuntero de color constante de OS/2 - - OS/2 icono de estructura - - puntero OS/2
IC
PT
2 4 bytes El tamaño del archivo BMP en bytes.
6 2 bytes Reservado; El valor real depende de la aplicación que crea la imagen, si se crea manualmente puede ser 0.
8 2 bytes Reservado; El valor real depende de la aplicación que crea la imagen, si se crea manualmente puede ser 0.
10 4 bytes El desplazamiento, es decir, la dirección inicial, del byte donde se pueden encontrar los datos de la imagen de mapa de bits (matriz de píxeles).

BMes el valor del primer campo. El tercer "carácter" es en realidad el primer byte del segundo campo (tamaño del BMP en bytes) interpretado incorrectamente como texto.

Respuesta2

Porque el encabezado no es ninguno de los dos.bmbniBm ~. EsBM. Después de todo, sus mapas de bits no eran idénticos.

Esto se especifica en elEstructura BITMAPFILEHEADER: “El tipo de archivo; debe ser BM.”

Respuesta3

En el encabezado, los primeros 2 bytes deben ser "BM", que es lo que tienes.

Los siguientes 4 bytes almacenan el tamaño del archivo, que, por coincidencia, en su caso, se parece a "P" o "~".

Puede intentar tomar los bytes sin procesar en las 4 ubicaciones y calcular el tamaño del archivo. Debe coincidir con el tamaño del archivo en el disco.

Alternativamente, use Herramientas de imagen para procesar el encabezado, extraer el tamaño del archivo y luego comparar.

información relacionada