Warum hat ein BMP-Bild zwei Arten von Dateiköpfen?

Warum hat ein BMP-Bild zwei Arten von Dateiköpfen?

Ich habe vor kurzem zwei identische Bitmap-Bilder in Notepad++ geöffnet. Die Kopfzeile beginnt mit:

'Bmb' und der andere mit: 'Bm~'

Warum das?

Antwort1

Dies ist nicht der gesamte Header – und tatsächlich sind es eineinhalb Felder aus dem Header.

Hier ist das Header-Formataus Wikipedia:

Offset-Dezember Größe Zweck
0 2 Byte Das Header-Feld, das zur Identifizierung der BMP- und DIB-Datei verwendet wird, ist hexadezimal 0x42 0x4D, dasselbe wie BM in ASCII. Die folgenden Einträge sind möglich:
- BM- Windows 3.1x, 95, NT, ... usw.
- BA- OS/2-Struktur-Bitmap-Array
- CI- OS/2-Struktur-Farbsymbol
- CP- OS/2-Konstanten-Farbzeiger
- IC- OS/2-Struktursymbol
- PT- OS/2-Zeiger
2 4 Bytes Die Größe der BMP-Datei in Bytes
6 2 Byte Reserviert; der tatsächliche Wert hängt von der Anwendung ab, die das Image erstellt. Bei manueller Erstellung kann er 0 sein.
8 2 Byte Reserviert; der tatsächliche Wert hängt von der Anwendung ab, die das Image erstellt. Bei manueller Erstellung kann er 0 sein.
10 4 Bytes Der Offset, d. h. die Startadresse, des Bytes, in dem die Bitmap-Bilddaten (Pixelarray) gefunden werden können.

BMist der Wert des ersten Felds. Das dritte „Zeichen“ ist eigentlich das erste Byte aus dem zweiten Feld (Größe des BMP in Bytes), das fälschlicherweise als Text interpretiert wird.

Antwort2

Denn der Header ist wederBmbnochBm~. Es istBM. Ihre Bitmaps waren also doch nicht identisch.

Dies ist festgelegt in derBITMAPFILEHEADER-Struktur: „Der Dateityp muss BM sein.“

Antwort3

Im Header müssen die ersten 2 Bytes „BM“ sein, und das ist, was Sie erhalten haben.

Die nächsten 4 Bytes speichern die Größe der Datei, die in Ihrem Fall zufällig wie „P“ oder „~“ aussieht.

Sie können versuchen, die Rohbytes an den 4 Standorten zu nehmen und die Dateigröße zu berechnen. Sie sollte der Dateigröße auf der Festplatte entsprechen.

Alternativ können Sie Image Tools verwenden, um den Header zu verarbeiten, die Dateigröße zu extrahieren und dann zu vergleichen.

verwandte Informationen