Это выглядит как Jpeg файл, зашифрованный в .hex
файле.
Я не привык к работе с файлами hex
, но 7 первых цифр выглядят так, как будто они в основном подсчитывают строки. Я просто проигнорирую их, я уверен, что вы можете найти документацию о том, что именно там роль (если есть!). Реальные байты данных - это то, что закодировано в остальной части каждой строки.
Когда-то я написал lightweight jpeg encoder. Я пошел в источник, чтобы узнать, звонили ли байты в вашем файле:
Файл начинается с d8ff
, а код, который я написал для кодирования jpeg, который начинается с записи заголовка файла, который идентифицирует его как jpeg и кодирует информацию о нем, такую как ее размер, начинается с записи байтов FFDB
(см. this line, где «SOI» означает «Start Of File»).
тогда у нас есть e0ff 1000 464a 4649 0100 0001
... и мой код пишет: FFE0 0010 4A46 4946 0001 0100
(см line 127 and following), которые являются следующими байтами стандартного файла JPEG с JFIF header.
Наконец, последние 3 байта вашего файла: d9ff
, а jpec записывает FFD9
в качестве байтов конца файла.
Очевидно, что ваш файл не написан с той же консистенцией, что и мой код (на самом деле это выглядит как middle-endian, я не видел этого раньше ...), но вы можете видеть, что каждый пакет из 2 байтов (4 шестнадцатеричных символа) одинаково при инвертировании порядка этих двух байтов! Это, очевидно, JPEG-кодированное изображение ...
Чтобы прочитать это как образ, я хотел бы попробовать:
- просто зачистки 7 первых цифр каждой строки и писать оставшиеся байты в виде двоичного файла , если конечный результат этого шестнадцатеричного файла соответствует тому, который находится на вашем компьютере, или
- удаляет 7 первых цифр и реверсирует порядок каждого пакета в 2 байта и записывает его в виде двоичного файла, если точность вашего устройства соответствует тот, на который я написал Jpec!
Надеюсь, это поможет!