При работе с необычными файлами изучение фактических частей файла может оказаться чрезвычайно полезным. Во всяком случае, вы можете прочитать заголовки файла и расшифровать его назначение. Редактирование шестнадцатеричного кода — сложное дело, но его можно выполнить с помощью различных шестнадцатеричных редакторов в macOS. Что такое шестнадцатеричный код и почему его стоит изучить?
Читайте также: Каковы различия между двоичными, десятичными и шестнадцатеричными числами?
Что такое шестнадцатеричный код?
В вычислениях шестнадцатеричный формат обеспечивает более краткий способ представления двоичных значений. Он использует систему счисления с основанием 16 вместо двоичной системы счисления с основанием 2. Благодаря большему пространству чисел несколько двоичных цифр могут быть выражены в одной шестнадцатеричной цифре. Каждая шестнадцатеричная цифра обозначает четыре двоичных цифры. Если вы помните свой двоичный файл, в
Contents
Что такое шестнадцатеричный код?
ровно 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 — бесплатный и простой кодировщик, предлагающий некоторые возможности настройки. Приложение ориентировано на четкую и быструю интерпретацию шестнадцатеричных значений. Это элементарное, но полезное введение в шестнадцатеричные редакторы.
Если у вас есть любое приложение, вы можете открыть любой файл, чтобы просмотреть лежащий в его основе двоичный код, представленный в шестнадцатеричных значениях. Это более полезно для определенных типов файлов, чем для других, но в большинстве случаев вы увидите шестнадцатеричные значения слева, а интерпретацию этих значений в формате ASCII — справа. Таким образом вы сможете «прочитать» файл и начать понимать, что происходит.
Редакторы Hex также могут редактировать шестнадцатеричный код. Однако это не так просто, как редактирование текста, и не так просто. Шестнадцатеричные редакторы редактируют код парами байтов, перезаписывая и заменяя два значения одновременно. Если вы не будете предельно осторожны, вы можете мгновенно повредить функциональный файл. Чтобы защититься от этой уязвимости, всегда дублируйте файл перед редактированием его шестнадцатеричного кода.
Читайте также: Просмотр и редактирование шестнадцатеричного кода в macOS>Использование шестнадцатеричного редактора в Linux
Заключение: для чего используются шестнадцатеричные редакторы?
Просто открыть случайные файлы в шестнадцатеричном редакторе может быть весело. Однако это не очень полезно. Существует узкий круг обстоятельств, в которых шестнадцатеричные редакторы показывают свое качество. Если вам нужно просмотреть и отредактировать двоичный код, то шестнадцатеричные редакторы — лучший инструмент для этой работы.
Например, при написании программы, выводящей двоичные данные, вам следует вручную проверять качество файлов. Они также могут помочь восстановить или проанализировать поврежденные сторонние файлы. Шестнадцатеричные редакторы могут открыть любой файл, независимо от того, поврежден он или недействителен. Это означает, что иногда вы можете «исправить» поврежденный файл с помощью шестнадцатеричного редактора или, по крайней мере, определить причину ошибки. Если вам необходимо внести точные изменения в системный файл, например изменить адрес памяти в кексте, единственным инструментом для этой работы будет шестнадцатеричный редактор. Благодаря их широкой полезности, любому, кто интересуется тонкостями вычислений и программирования, полезно познакомиться с шестнадцатеричным редактором.