Конференция "Media" » В массиве байт лежит JPG-файл, найти начало и конец файла. [D7, WinXP]
 
  • Quant (02.04.16 04:03) [0]
    Собственно сабж.
    Может лежать в где-то в середине массива. Может лежать несколько файлов.
    Предполагаемое начало-то я могу найти, а вот как найти где он заканчивается?
    Ну и проверить картинка это нашлась или мусор.
  • Dmk © (02.04.16 09:59) [1]
    FF D8 - маркер начала файла JPG
    FF D9 - маркер конца файла JPG
  • Quant (14.04.16 11:20) [2]
    Спасибо большое, попробуем!
    А может ли теоретически этот маркер конца появиться внутри какого-то блока в середине файла?
  • dmk © (14.04.16 12:45) [3]
    Теоретически может. Делайте дополнительные проверки.
    http://www.redbubble.com/people/ange4771/works/13136973-jpg-the-jpeg-file-interchange-format
  • Quant (14.04.16 15:59) [4]
    Слепил рандомные файлы в один через консоль:

    COPY /B 0.eml+1.jpg+2.Cur+3.jpg+4.eml bytes.array



    Внутри блоков как выяснилось может быть и "маркер конца" и "маркер начала". Не говоря уже что в прочих файлах внезапно тоже попадаются.
    Покачто отбрутфорсил все возможные комбинации маркеров - находит. Вместе с кучей лишних нерабочих, но уже находит, отлично!

    Спасибо большое!
  • имя (21.04.16 13:38) [5]
    Удалено модератором
  • имя (21.04.16 14:09) [6]
    Удалено модератором
  • имя (21.04.16 14:36) [7]
    Удалено модератором
  • Quant (23.04.16 13:05) [8]
    эм... А что здесь произошло? Не успел прочитать.
  • Rouse_ © (23.04.16 13:15) [9]
    Не вникай - спамеры понабежали
  • Quant (23.04.16 13:21) [10]
    а... Понятно.

    По теме - навострился просто проверять загрузит ли найденный кусок файла TJPEGImage или выдаст исключение - косое решение, но зато нормально работает.
    Но всё же выходит как-то медленно. Совсем ваще медленно.
 
Конференция "Media" » В массиве байт лежит JPG-файл, найти начало и конец файла. [D7, WinXP]
Есть новые Нет новых   [134427   +37][b:0][p:0.001]