Просмотр и редактирование шестнадцатеричного кода в macOS

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

Также читайте: Каковы различия между двоичными, десятичными и шестнадцатеричными системами?

Что такое шестнадцатеричный код?

В вычислительной технике шестнадцатеричный код предоставляет более компактный способ представления двоичных значений. Он использует числовую систему с основанием 16 вместо двоичной системы с основанием 2. Благодаря большему числовому пространству несколько двоичных разрядов могут быть выражены в одном шестнадцатеричном разряде. Каждый шестнадцатеричный разряд выражает четыре двоичных разряда. Если вы помните свои двоичные числа, вы знаете, что половина байта имеет ровно 16 возможных значений — такое же количество значений, какое может иметь шестнадцатеричный разряд. Изучите таблицу ниже, чтобы увидеть эквиваленты.

шестнадцатерично-десятичные-двоичные-эквиваленты

Объедините два шестнадцатеричных числа, и вы сможете выразить восемь бит информации. Это эквивалентно одному байту с тридцатью двумя возможными значениями. Один байт варьируется от 0000 0000 до 1111 1111. В шестнадцатеричном представлении это 00 до FF соответственно. Записывая шестнадцатеричные значения в виде пар, вы можете легко «разбить» двоичные данные файла на байты.

По сути, шестнадцатеричный и двоичный коды предоставляют разные «рамки» для одних и тех же базовых данных. Люди могут легко читать шестнадцатеричный код, в то время как компьютеры могут легко читать двоичный код.

Конвенции для чтения и записи шестнадцатеричных значений

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

Например, 0x2FF0C4 описывает шестнадцатеричный адрес в памяти, эквивалентный двоичному значению 0010 1111 1111 0000 1100 0100 и десятичному значению 3,141,828. Только 2FF0C4 считается частью значения. Ведущие символы 0x лишь указывают на числовую систему.

Когда весь документ обрабатывается как шестнадцатеричный, значения отображаются парами, такими как FF A0 2D CE. Это удобно разделяет значения на строки длиной в байт, что облегчает их восприятие для человека.

Просмотр и редактирование шестнадцатеричного кода в macOS

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

  • 0xED — это бесплатный и простой кодировщик, который предлагает некоторые варианты настройки. Приложение сосредоточено на четком и быстром интерпретировании шестнадцатеричных значений. Это элементарное, но полезное введение в шестнадцатеричные редакторы.

шестнадцатеричный-редактор-0xed-герой

  • Synalyze It! — это профессиональный платный интерпретатор шестнадцатеричных кодов с встроенной цветовой кодировкой значений для визуального анализа файлов. Он также включает огромный репозиторий «грамматик». Эти грамматики применяют известные структуры файлов к шестнадцатеричному коду. Эти рамки помогают вам понять, интерпретировать, искать и редактировать шестнадцатеричный код.

шестнадцатеричный-редактор-synalyze-it-герой

Как только у вас есть одно из этих приложений, вы можете открыть любой файл, чтобы просмотреть базовый двоичный код, представленный в шестнадцатеричных значениях. Это более полезно для определенных типов файлов, чем для других, но в большинстве случаев вы увидите шестнадцатеричные значения слева с ASCII интерпретацией этих значений справа. Таким образом, вы можете «читать» файл и начать понимать, что происходит.

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

Также читайте: Использование шестнадцатеричного редактора в Linux

Заключение: Для чего используются шестнадцатеричные редакторы?

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

Например, при написании программы, которая выводит двоичные данные, вы должны вручную проверять файлы на качество. Они также могут помочь восстановить или проанализировать поврежденные файлы третьих лиц. Шестнадцатеричные редакторы могут открывать любые файлы, будь то поврежденные или недействительные. Это означает, что вы иногда можете «исправить» поврежденный файл с помощью шестнадцатеричного редактора или, по крайней мере, определить, что вызывает ошибку. Если вам нужно внести точное изменение в системный файл, например, изменить адрес памяти в kext, шестнадцатеричный редактор — это единственный инструмент для этой задачи. Благодаря своей широкой полезности, любой, кто интересуется тонкостями вычислений и программирования, должен ознакомиться с шестнадцатеричным редактором.