【问题标题】:Error Interpreting JPG file: Not a JPG file: starts with 0xff 0x28解释 JPG 文件时出错:不是 JPG 文件:以 0xff 0x28 开头
【发布时间】:2017-09-09 12:57:16
【问题描述】:

每次我尝试打开 JPG 文件时都会收到以下错误:不是 JPG 文件:以 0xff 0x28 开头

在命令行中,我似乎没有得到任何关于错误的进一步提示或信息:

$ file P1000868.JPG 
  P1000868.JPG: data

    $ identify P1000868.JPG
      identify: Not a JPEG file: starts with 0xff 0x28 `P1000868.JPG' @ 
      error/jpeg.c/JPEGErrorHandler/322.

请告诉我如何检索我的图像信息? 我已经尝试将格式更改为 *.PNG、*.JPEG 等,但没有任何帮助。事实上,文件是 *.JPG,我可以打开它。

【问题讨论】:

  • 然后检查它是否是一个有效的文件,然后使用显而易见的工具,如 imagemagick 甚至官方的 jpeg 工具。似乎,幻数/指示符是错误的(例如,它是一个位图,有人将其命名为 jpg,而您的工具正在根据后缀选择它的解码)。
  • 感谢您的评论。我尝试更改后缀,但这无济于事。我实际上可以尝试使用 imagemagick 之类的工具,但我认为这是一些已知问题,无需任何工具以编程方式即可解决。
  • 问题可能是它不是 jpeg(并且被解释为 jpeg)。要么你带一些工具来检查,要么不。那是你的决定。无需编程。您可以从简单开始并将该文件拖到浏览器中(chrome 非常强大,并且不会根据文件后缀选择解码器;尽管我怀疑那是您的浏览器)。

标签: image jpeg corruption


【解决方案1】:

JPEG 流以 SOI 标记 FFD8 开头。如果您的流以 FF28 开头,则它不是 [有效] JPEG。 JPEG 中没有 FF28 标记,所以数据确实搞砸了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-02
    • 2011-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多