画像ファイルの種類をバイナリデータを確認して判定する

check_picture_top

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

画像データのフォーマットをバイナリデータで判別する

アプリやサービスを作成するとき、画像の扱う頻度は高いと思います。画像のフォーマットを確認する方法としては、拡張子で判断することが一般的です。

ただ拡張子はあくまで画像フォーマットの目安であり、bitmap の拡張子を png としても画像が表示されます。そこで今回は扱う画像のバイナリデータから、PNG や GIF、JPEG の内いずれのフォーマットであるかを判断する方法をご紹介します。

 

画像ファイルのフォーマットの判別

画像ファイルは先頭の数バイトを確認することにより、画像フォーマットの種類を判定することができます。

画像フォーマット別の先頭のバイナリ配列

画像の種類 先頭のバイナリ配列
png 89 50 4E 47
gif 47 49 46 38
jpeg FF D8

 

バイナリツールで画像をファイルでチェックすると、画像ファイルの判定用の文字列であることがよく分かります。
png の画像データ
check_picture_png

 

gif の画像データ
check_picture_gif

 

jpeg の画像データ
check_picture_jpg

 

 

ウェブプログラミングについては下記の本も参考になるので、スキルアップにお役立てください。

徳丸 浩(著)
ページ数: 688ページ
出版社:SBクリエイティブ
発売日:2018/06/21

出典:amazon