Файлы, двоичные данные и сжатие

Просмотр файла в HEXЧитайте файл побайтно и собирайте его обратно из дампа

Откройте файл, чтобы пролистать его байты, или переключитесь на «Вставить дамп», чтобы превратить вывод xxd или hexdump -C обратно в файл.

Просмотр файла в HEX

Ввод

example-1x1.png

70 байт (0x46)

Перетащите файл сюда или нажмите «Открыть файл».

Файл читается локально в браузере небольшими порциями и никуда не загружается.

Шестнадцатеричный вид

00000000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 .PNG........IHDR
00000010 00 00 00 01 00 00 00 01 08 06 00 00 00 1f 15 c4 ................
00000020 89 00 00 00 0d 49 44 41 54 78 da 63 64 60 f8 5f .....IDATx.cd`._
00000030 0f 00 02 87 01 80 eb 47 ba 92 00 00 00 00 49 45 .......G......IE
00000040 4e 44 ae 42 60 82 ND.B`.
Выделено 0x00000000–0x00000000 (1 байт)

Щелчок по байту перемещает курсор. Shift+щелчок или Shift+стрелки расширяют выделение; в области просмотра работают PageUp, PageDown, Home и End.

Инспектор по адресу 0x00000000 (0) · Little endian

Биты
10001001
int8
-119
uint8
137
int16
20617
uint16
20617
int32
1196314761
uint32
1196314761
int64
727905341920923785
uint64
727905341920923785
float32
52816.53515625
float64
5.292397776572611e-260
UTF-8
—

Параметры

example-1x1.png: 70 байт.

Просмотр файла в HEX (по-английски такой инструмент называют Hex Viewer) нужен, когда файл не говорит, что он такое: загрузка, которая не устанавливается, блоб настроек, записанный приложением, образ прошивки, PNG, который не открывает ни одна программа. Колонка смещения показывает, где вы находитесь, колонка hex — каждый байт как есть, а в колонке ASCII сразу видны читаемые строки.

Файл можно посмотреть в шестнадцатеричном виде и в терминале через xxd или hexdump -C; здесь выводится ровно тот же формат, так что результаты сравниваются построчно. Чего в терминале нет, так это курсора: щёлкните по байту, и инспектор прочитает целое число или число с плавающей точкой, начинающееся с него, в порядке little или big endian. На той же странице шестнадцатеричный дамп, вставленный кем-то в тикет, превращается обратно в исходный бинарный файл.

Почему просмотр файла в HEX здесь

Читается как терминал, но на любой байт можно указать и спросить, что он значит.

Большие файлы открываются сразу

Читаются только шестнадцать видимых строк и восемь байт под курсором. Образ диска на 3 ГБ прокручивается так же плавно, как значок на 3 КБ, и ничего не обрезается после первого мегабайта.

Слева длинный файл с выделенным небольшим окном, которое справа увеличено до шестнадцатистрочной шестнадцатеричной сетки с отмеченным байтом под курсором.

Вставленный дамп снова становится файлом

Вставьте вывод xxd или hexdump -C, в том числе строки *, которыми hexdump заменяет повторы, и скачайте байты как .bin. Строка с разрывом в смещениях сообщается с номером, а не заполняется нулями.

Строки hex-дампа, одна из которых обведена красным из-за разрыва в смещении, и стрелка к восстановленному бинарному файлу.

Значения в обоих порядках байтов

Инспектор читает байты под курсором как целые числа от 8 до 64 бит и числа с плавающей точкой на 32 и 64 бита. Переключите little и big endian — и те же четыре байта дадут два совсем разных числа.

Четыре цветных байта, прочитанные в двух порядках: слева в обратном для little endian, справа в прямом для big endian, с разными по длине полосами значения.

Как получить от просмотра больше

01

Откройте файл или вставьте дамп

Перетащите файл в поле ввода или нажмите «Открыть файл» — вид появится сразу, и весь файл в память не загружается. «Вставить дамп» принимает xxd, hexdump -C, простой hex или массив C и преобразует через 350 мс после окончания ввода.

  • Если выключить «Преобразовывать автоматически», преобразование запускается только кнопкой «Преобразовать» или Ctrl/Cmd+Enter.
  • «Загрузить пример» в режиме вставки подставляет вывод hexdump -C со строкой *, чтобы было видно, как разворачиваются свёрнутые строки.
02

Двигайтесь клавиатурой, а не полосой прокрутки

Щёлкните по байту и используйте стрелки, PageUp и PageDown. Ctrl/Cmd+Home и Ctrl/Cmd+End ведут к первому и последнему байту. «Перейти к смещению» понимает 0x1A0, 1A0h и десятичное 416.

  • По умолчанию поиск идёт по hex-байтам, поэтому сигнатура вроде 89 50 4E 47 или FF D8 FF находится как есть; для строк переключитесь на «Текст».
03

Экспортируйте ровно выбранные байты

Выделите байты через Shift+щелчок или задайте начальное смещение и длину, затем выберите формат. В выводе hexdump -C и xxd колонка смещений хранит настоящие смещения в файле, так что фрагмент остаётся сопоставимым с оригиналом.

  • Текстовый экспорт ограничен 1 МиБ; «Скачать выделение (.bin)» копирует байты напрямую и такого предела не имеет.

Что можно делать с байтами

Формат как в терминале

Hex строчными буквами, дополнительный пробел после восьмого байта, непечатаемые байты в виде точки, 8, 16 или 32 байта в строке. Нулевые байты приглушены, чтобы заполнение было легко пропустить.

Поиск байтов и текста

Ищите последовательность hex-байтов или строку UTF-8 по всему файлу в фоновом воркере — с индикатором прогресса, счётчиком и кнопками «Предыдущее» и «Следующее». Совпадения на границе блоков тоже находятся.

Инспектор данных

Знаковые и беззнаковые целые на 8, 16, 32 и 64 бита, float32, float64, биты текущего байта и символ UTF-8, начинающийся с него, — всё с позиции курсора.

Четыре текстовых формата и сырые байты

Скопируйте или скачайте выделение как hexdump -C, xxd, простой hex в формате xxd -p или массив C, как у xxd -i, либо сохраните сырые байты в .bin.

Ограничения и правила разбора

Только чтение: байты не меняются
Нет редактирования, вставки, заполнения и поиска с заменой, исходный файл никогда не перезаписывается. Чтобы пропатчить файл, экспортируйте диапазон в формате xxd, поправьте текст, вставьте его обратно в режиме «Вставить дамп» и скачайте .bin — тот же путь, что xxd и xxd -r.
Разрыв во вставленном дампе — ошибка, а не нули
Смещение каждой строки должно продолжать ровно то место, где закончилась предыдущая. xxd -r заполняет разрыв нулевыми байтами; этот инструмент останавливается на первом разрыве, перекрытии или неожиданном символе и называет строку и столбец, потому что разрыв почти всегда значит, что строки потерялись при копировании. Прошивки Intel HEX распознаются и отклоняются с отдельным сообщением.
Ограничения по размеру
Открываются файлы до 4 ГиБ. Вставленный дамп — до 16 МиБ текста, текстовый экспорт — до 1 МиБ выделенных байтов, а поиск останавливается после 10 000 совпадений и сообщает об этом. Шаблон поиска — не длиннее 256 байт.
Чего не делают текстовая колонка и поиск
Текстовая колонка — чистый ASCII, поэтому многобайтовые символы UTF-8 в ней видны как точки; строка UTF-8 в инспекторе декодирует символ под курсором. «Без учёта регистра» касается только A–Z. Нет подстановочных знаков, поиска по числовому значению, определения типа файла и разбора структуры.

Просмотр файла в HEX: частые вопросы

Как прочитать файл в шестнадцатеричном виде?

Перетащите его на страницу: каждый байт показывается двумя hex-цифрами со смещением слева и символом ASCII справа. Щелчок по байту показывает в инспекторе его биты и числа, которые начинаются с него.

Как посмотреть файл в hex без установки программ?

Просмотр файла в HEX здесь работает прямо в браузере: ничего устанавливать не нужно, а файл читается локально и не покидает компьютер. Подходит для Windows, macOS и Linux.

Как вывести шестнадцатеричный дамп файла?

Выделите нужный диапазон или весь файл кнопкой «Выделить всё», выберите формат hexdump -C, xxd, простой hex или массив C, затем скопируйте или скачайте результат. Для диапазонов больше 1 МиБ скачивайте байты в .bin.

Как преобразовать hex дамп обратно в бинарный файл?

Переключитесь на «Вставить дамп», вставьте вывод xxd или hexdump -C и нажмите «Скачать весь файл (.bin)». Результат совпадает с xxd -r, но пропущенные строки дают ошибку с номером строки, а не молча заменяются нулями.

Как преобразовать бинарные данные в HEX?

Откройте файл и экспортируйте выделение в нужном текстовом формате: простой hex в стиле xxd -p — сплошная строка шестнадцатеричных цифр, массив C — готовый фрагмент для вставки в исходный код.

Остался вопрос?

Начните просмотр файла в HEX

Сначала загрузите пример PNG и посмотрите на сигнатуру, блок IHDR и ширину, прочитанную в инспекторе как big endian, а затем начните просмотр файла в HEX для собственного файла.

Всё выполняется локально в вашем браузере.