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- - CP Puntero de color constante de OS/2 - - OS/2 icono de estructura - - puntero OS/2IC 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). |
BM
es 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.