BlinCT
26 августа 2020 г. 15:30

Бинарное чтение файла

Всем привет.
Имеется файл такого вида если его открыть через hexdump -C

  1. 000086d0 aa 01 00 da af 01 05 00 a1 01 d7 01 36 aa 00 00 |............6...|
  2. 000086e0 cf aa 01 00 da af 01 05 00 a1 01 d7 01 36 aa 00 |.............6..|
  3. 000086f0 00 cf aa 01 00 da af 01 05 00 a1 01 d7 01 36 aa |..............6.|
  4. 00008700 00 00 cf aa 01 00 da af 01 05 00 a1 01 d7 01 36 |...............6|
  5. 00008710 aa 00 00 cf aa 01 00 da af 01 05 00 a1 01 d7 01 |................|
  6.  

Подскажите пожалуйста, как его правильно открывать в таком бинарном виде чтобы я мог по байтам проходить и искать то что мне нужно?
Сам файл открываю через QFile
Смысл в том чтобы найти определенные закономерности, то есть если байт начинается с AA то вместе с ним будут 4 байта, после если AF то должно быть 9.
Спасибо заранее.

2

Вам это нравится? Поделитесь в социальных сетях!

2
BlinCT
  • 26 августа 2020 г. 17:50
  1. QFile file("tmp1.txt");
  2. if (!file.open(QIODevice::ReadOnly))
  3. {
  4. qDebug() << "can't open file";
  5. return 1;
  6. }
  7.  
  8. QByteArray blob = file.readAll();
  9.  
  10. for (const QChar &item : blob)
  11. {
  12. qDebug() << item;
  13. }
  14.  
  15. file.close();

сейчас вот такой код имеется дял чтения, из QChar я поулчаю вот такого вида символы

'\uffcf'
'\uffaa'
'\x1'
'\x0'
'\uffda'
'\uffaf'

в общем я вижу что это почти то что мне требуется.
Или я не правильно беру тип или его надо еще во что то преобразовать?

    Дмитрий
    • 27 августа 2020 г. 3:17
    • (ред.)

    Может вам нужен QByteArray::toHex()?

    1. QByteArray blob(file.readAll());
    2. qDebug() << blob.toHex();

      Комментарии

      Только авторизованные пользователи могут публиковать комментарии.
      Пожалуйста, авторизуйтесь или зарегистрируйтесь
      • Последние комментарии
      • IscanderChe
        12 апреля 2025 г. 17:12
        Добрый день. Спасибо Вам за этот проект и отдельно за ответы на форуме, которые мне очень помогли в некоммерческих пет-проектах. Профессиональным программистом я так и не стал, но узнал мно…
      • AK
        1 апреля 2025 г. 11:41
        Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
      • Evgenii Legotckoi
        9 марта 2025 г. 21:02
        К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
      • VP
        9 марта 2025 г. 16:14
        Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
      • ИМ
        22 ноября 2024 г. 21:51
        Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…