ファイルタイプ不明のエラー

こういうメッセージが出ることがある。この「ファイル」はインターネット上のホームページで右クリックして画像を取得したときに、そのファイルタイプが自動的にビットマップ(*.bmp)になったファイルである。新聞の画像などをこのようにして取り込む場合によく発生する。

そのビットマップファイルを画像ソフトなどで読み込むとこのようなメッセージが出る。なお、この例に限ればペイントではエラーメッセージもなく読み込める。

そこで、ためしにこのファイルの拡張子を「.bmp」から「.jpg」に変更して先と同じようにして読み込む。そうすると何のエラーメッセージも出ずに正常に読み込める。


確認のため、ファイルの中身を見てみると、次のようになる。
SAMPLE
リ・JFIF  H H  ロ C 			

このファイルは実際はJPG(JPEG)形式のファイルだったようである。JPEGでは画像の正式なフォーマットがなく、JFIF形式(7バイト目1)JFIFの文字がある)が事実上の標準ファイルフォーマットとなっているようである2)
NOTES
1) バイトの数え方は先頭を1とする「1起算」である。これに対して、ビットの数え方は「bit 0 から bit 6 まで」のように「0起算」である(pbk_0054参照)。
Microsoft「Visual C/C++ ランゲージリファレンス」(アスキー)267~268pの「ビットフィールド」の項を参照。
2) JFIFの文字がないJPEGファイルも当然ある。

上のようなエラーメッセージが出た原因は、実際はJPGファイルであるのに拡張子が*.bmpとなっていたからである。


ANSIコード参照。




重要
拡張子が表わしている画像ファイルと、ファイル内部に埋め込まれているその画像を表わすキーワードに齟齬(そご)が生じる場合にこの現象が起こる。
この対策は、現在の拡張子を別の画像の拡張子に変更すればよい。


その他の例

ブラウザの右クリックで画像をダウンロードすると「*.jpg」で保存されている。しかし、JPGファイルにしては異常にサイズが大きい。これも「ファイルタイプが不明」メッセージが出る。

これも上と同じパターンである。実際はJPGファイルではないのに拡張子が*.jpgになっていたものである。

2バイト目から4バイト目にかけて「PNG」が入っている。したがって、拡張子を「*.png」にすればそのような齟齬は解消され、エラーメッセージも出なくなる。もちろんスンナリ読み込めて表示・編集ができるようになる。




LOG
202.254.165.130 [28/Feb/2015:11:56:58] 画像ファイルではないのにjpgの拡張子が
ドシロウトはどんなファイルにどんな拡張子をつけてもかまわないという超基本の常識がないのである。

LOG
221.114.24.33 [05/Feb/2022:12:11:44] tpc_0230 拡張子が不明でエラーがでる
ネットバカならではの「不明な言辞」である。

- 2015/06/10(移記) -