Байты, нибблы, и подсветка: пишем свой TUI hex-редактор на Python
В жизни каждого разработчика иногда приходится рассматривать бинарные файлы через специальные HEX-редакторы. Мы открываем его, видим три колонки цифр и букв, и кажется что все предельно ясно-понятно. Но почему адреса считаются шестнадцатеричными, что такое ниббл и зачем он вообще нужен? В этой статье мы не просто напишем свой hex-редактор на Python — мы разберем, как он устроен, от битового представления до цветовой подсветки. Выясним, чем подсветка по нибблам отличается от подсветки по категориям байтов, и почему градиенты в hex-дампе — это не просто украшение, а рабочий инструмент. Также мы изучим, какие практики и паттерны используются при написании редактора — от mmap для чтения файла до интерпретации байтов. Будет и код, и архитектура, и результат, и практика.
https://habr.com/ru/companies/timeweb/articles/1034646/
#hexредактор #hex #редактор #нибблы #байты #бинарные_файлы #двоичные_файлы #howto #туториал #timeweb_статьи
