.bmp 画像に 2 種類のファイル ヘッダーがあるのはなぜですか?

.bmp 画像に 2 種類のファイル ヘッダーがあるのはなぜですか?

最近、Notepad++ で 2 つの同一のビットマップ画像を開きました。1 つのヘッダーは次のように始まります。

'バンブ' そしてもう1つは: 'ん〜'

何故ですか?

答え1

これはヘッダー全体ではなく、実際にはヘッダーの 1.5 フィールドです。

ヘッダーのフォーマットは次のとおりですウィキペディアより:

オフセット減算 サイズ 目的
0 2バイト BMP および DIB ファイルを識別するために使用されるヘッダー フィールドは、16 進数で 0x42 0x4D であり、ASCII の BM と同じです。次のエントリが可能です:
- BM- Windows 3.1x、95、NT、... など
- BA- OS/2 構造体ビットマップ配列
- CI- OS/2 構造体カラー アイコン
- - OS/ CP2 定数カラー ポインタ
- IC- OS/2 構造体アイコン
- PT- OS/2 ポインタ
2 4バイト BMPファイルのサイズ(バイト単位)
6 2バイト 予約済み。実際の値はイメージを作成するアプリケーションによって異なります。手動で作成した場合は 0 になります。
8 2バイト 予約済み。実際の値はイメージを作成するアプリケーションによって異なります。手動で作成した場合は 0 になります。
10 4バイト ビットマップ画像データ (ピクセル配列) が見つかるバイトのオフセット、つまり開始アドレス。

BM最初のフィールドの値です。3 番目の「文字」は、実際には 2 番目のフィールドの最初のバイト (BMP のサイズ (バイト単位)) が誤ってテキストとして解釈されたものです。

答え2

ヘッダーはバンブまたはん〜それはBM結局、ビットマップは同一ではありませんでした。

これは、BITMAPFILEHEADER 構造: 「ファイルの種類は BM である必要があります。」

答え3

ヘッダーの最初の 2 バイトは「BM」である必要があり、これが取得されたものです。

次の 4 バイトにはファイルのサイズが格納されますが、偶然にも、この場合は「P」または「~」のように見えます。

4 つの場所にある生のバイトを取得してファイル サイズを計算してみてください。ディスク上のファイル サイズと一致するはずです。

または、イメージ ツールを使用してヘッダーを処理し、ファイル サイズを抽出して比較します。

関連情報