Ответы пользователя по тегу Двоичный код
  • Как правильно понять, клетка в шахматах 1 бит или 13 бит?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Если в клетке шахматного поля может хранится 13 возможных вариантов состояния (12 разных фигур + отсутствие фигуры),

    Адресовать в памяти можно только байты. Но можно обращаться к отдельным битам байта.
    для 13 возможных состояния понадобится 4 бита, при этом будет еще два варианта неиспользуемых.
    Итого на 64 клетки можно обойтись 32 байтами.

    Но если у вас всего 12 разных фигур, то не проще хранить координаты 12-фигур, на что нужно 6 бит на каждую фигуру? Можно округлить и хватит 12 байт на 12 фигур, или 24 байта на 24 фигуры, что еще меньше, чем 32 байта.
    Ответ написан
    2 комментария
  • Как анализировать бинарные файлы?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Мне необходимо сделать программу для анализа бинарных файлов и сбора информации с них. Подскажите материалы или ссылки с информацией, примерами по данной теме.

    Программа должна работать с файлами сборок моделей САПР (.iam , .dxf). На данный момент формат файла мне не известен. Если формат файла заранее не известен, можно сделать такой анализ?


    Есть компании, которые при разработке формата данных ни с кем не советуются и пишут свой собственный проприетарный формат. Документацию к нему естественно не выкладывают. Поэтому анализ таких файлов может быть крайне затруднителен.
    Сделать анализ вы конечно можете, но судя по постановке вопроса, вряд ли у вас это получится из за непонимания базовых вещей, типа что такое двоичный код.

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

    Можно поискать некоторые утилиты, типа hexinator (можете нагуглить парочку видяшек, дадут понять как это примерно работает), которые позволяют редактировать и анализировать бинарники, но опять таки, выполнить реверс инженеринг для кусочка бинарного файла обычно бесполезна.
    Обычно бинарники ковыряют либо тогда, когда имеется полное представление о том, что в нем должно быть, либо когда нужно подковырять кусочек (например в savegame себе начитить что-то). Выполнить ПОЛНЫЙ анализ недокументированного бинарного формата - задача далеко не для начинающих.
    Ответ написан
    Комментировать
  • Как получить такой двоичный код?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Посмотрите, совпадает ли алгоритм разработчиков с созданием символов в UTF-8

    В таком виде это совсем другой вопрос.

    Посмотрите алгоритм формирования UTF-8 символов, думаю это все оттуда:

    Подготовить старшие биты первого октета (0xxxxxxx для одного октета, 110xxxxx - два, 1110xxxx - три и т.д.). Для остальных октетов два старших бита равны 10 (10xxxxxx).
    Количество байт Значащих бит Первый байт Шаблон полностью
    1 7 0xxxxxxx 0xxxxxxx
    2 11 110xxxxx 110xxxxx 10xxxxxx
    3 16 1110xxxx 1110xxxx 10xxxxxx 10xxxxxx
    4 21 11110xxx 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
    5 26 111110xx 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
    6 31 1111110x 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
    Ответ написан