Байты, нибблы, и подсветка: пишем свой TUI hex-редактор на Python

В жизни каждого разработчика иногда приходится рассматривать бинарные файлы через специальные HEX-редакторы. Мы открываем его, видим три колонки цифр и букв, и кажется что все предельно ясно-понятно. Но почему адреса считаются шестнадцатеричными, что такое ниббл и зачем он вообще нужен? В этой статье мы не просто напишем свой hex-редактор на Python — мы разберем, как он устроен, от битового представления до цветовой подсветки. Выясним, чем подсветка по нибблам отличается от подсветки по категориям байтов, и почему градиенты в hex-дампе — это не просто украшение, а рабочий инструмент. Также мы изучим, какие практики и паттерны используются при написании редактора — от mmap для чтения файла до интерпретации байтов. Будет и код, и архитектура, и результат, и практика.

https://habr.com/ru/companies/timeweb/articles/1034646/

#hexредактор #hex #редактор #нибблы #байты #бинарные_файлы #двоичные_файлы #howto #туториал #timeweb_статьи

Байты, нибблы, и подсветка: пишем свой TUI hex-редактор на Python

Многие могли открывать HEX-редакторы для анализа файла или для обучения реверс-инжинирингу. Однажды я наткнулся на интересный материал о подсветке байтов . Недолго думая, я решил написать статью — не...

Хабр