在 Ubuntu 下打开 jpg 图档时,图片浏览器显示 Not a JPEG file: starts with 0x89 0x50 的错误讯息,但该图档在 Windows 7 下却可以成功打开看到,究竟是什么问题?
故事是这样的,有位朋友传来用ZIP打包的数十个 jpg 格式图档,当中有一半可成功打开,另一半却不知为何,打开时出现 Not a JPEG file: starts with 0x89 0x50 的错误讯息。起初以为是图档打包时出错,但对方重覆再传后,打开时仍然显示相同错误讯息,无法看到,这时我们可推断不是打包时的问题了,可能个别图档真的有问题。Not a JPEG file: starts with 0x89 0x50 的意思,是程式告诉我们这个档案根本不是 jpg,因为档头是 0x89 0x50,而0x89 0x50是 png 的。于是将该等 jpg 的延伸档名更改为 png ,就可以成功看到了。在 Windows 中常有将 png 存档为 jpg 的情形,希望这篇可以成为 Linux 用户的参考。