Протоколы и двоичная сериализация

Конвертер MessagePackПосмотрите типы внутри байтов

Вставьте hex, Base64 или десятичные байты либо откройте локальный файл. Для кодирования выберите обычный JSON.

Конвертер MessagePack

Ввод

Результат

Байты и файлы обрабатываются в браузере и не загружаются.

Параметры

Вставьте байты или откройте файл.

В дампе сети или кэша бинарная запись выглядит нечитаемой. Конвертер MessagePack раскрывает вложенные значения и типы, после чего даёт просмотреть JSON.

При прямом преобразовании MessagePack в JSON легко потерять различие между bin и строкой либо округлить 64-битный ID. Здесь можно и преобразовать JSON в MessagePack для проверки образца.

Зачем нужен конвертер MessagePack

Типы протокола остаются видны даже рядом с JSON.

Дерево показывает исходный тип

Конвертер MessagePack различает строки, байты bin, коды расширений и точные большие целые. В предварительном JSON значения без собственного типа снабжены явными метками.

Поток байтов разветвляется на текст, сырые байты, расширение и длинное целое число.

Точное место лишних байтов

Если за завершённым значением идут другие байты, указан первый лишний сдвиг. Усечённый пакет тоже получает позицию, поэтому проще найти склейку сообщений.

После законченного объекта остаются дополнительные байты; граница отмечена янтарным указателем.

Как не перепутать ввод и результат

01

Укажите представление байтов

По умолчанию выбран hex. Для Base64 или десятичных байтов переключите формат до вставки; короткая строка может быть неоднозначной. Локальный файл читается как сырые байты.

  • Образец содержит bin, неизвестное расширение и большое целое число.
02

Выберите способ запуска

Автоматический запуск ждёт 350 мс после изменения. Если выключить его, появится кнопка и сработает Ctrl/Cmd+Enter. Старый результат нельзя экспортировать после правки.

  • Переключение дерева и JSON не разбирает байты повторно.
03

Проверьте тип перед сохранением

В дереве видны тип, начало и длина узла. JSON помогает читать содержимое; в режиме кодирования можно скачать настоящий файл .msgpack.

  • Метки расширений в JSON не являются командами обратного кодирования.

Просмотр структуры и создание байтов

Вложенные карты и массивы

Раскрывайте ключи и индексы. Для узлов указаны смещение и длина, а большие деревья показываются порциями по 100 строк.

Бинарные и расширенные значения

bin остаётся сырыми байтами; неизвестный ext сохраняет номер со знаком и всю нагрузку. Для временной метки видны секунды и наносекунды.

Кодирование JSON и файл

Обычный JSON превращается в MessagePack. Результат можно копировать как hex, Base64 или десятичные байты либо скачать бинарным файлом.

Границы преобразования

За один раз — одно полное значение
Конвертер MessagePack не игнорирует байты после первого значения. Склеенный поток вызовет ошибку на первом лишнем байте; предварительно разделите сообщения.
Неизвестные расширения остаются непрозрачными
Общий смысл имеет лишь временная метка типа -1. У прикладного расширения сохраняются номер и исходные байты, но UUID или объект не выдумываются.
Предпросмотр JSON не сохраняет все типы
В JSON нет нативных bin, ext, нестроковых ключей карты и точных 64-битных целых. Метки служат для чтения; кодировщик принимает обычный JSON.
Явные ограничения браузера
Размер ввода не более 1 МиБ, глубина 64, узлов не более 10 000. При превышении появляется ошибка, а неполный результат не выдаётся за полный.

Вопросы про конвертер MessagePack

Какие форматы вывода поддерживает инструмент?

При кодировании доступны hex, Base64 и десятичные байты; можно скачать настоящий файл .msgpack. При декодировании скачивается размеченный предварительный JSON.

Можно ли декодировать данные обратно в JSON?

Да. Выберите декодирование и вставьте hex или Base64, либо откройте локальный бинарный файл. Дерево покажет типы и значения.

Нужно ли устанавливать какое-либо ПО?

Нет. Конвертер MessagePack работает в браузере, поэтому дополнительную программу или библиотеку устанавливать не нужно.

Безопасно ли использовать этот инструмент?

Да: введённые данные и локальные файлы обрабатываются в этой вкладке и не отправляются на сервер. Большие или повреждённые данные приводят к ошибке, а не к скрытому усечению.

Нужно ли дополнительно декодировать raw_bytes в формате MessagePack?

Если raw_bytes уже представляет собой MessagePack, выберите нужное текстовое представление или откройте исходный файл. Обычный JSON-декодер не раскроет бинарную структуру MessagePack.

Остались вопросы?

Откройте конвертер MessagePack

Загрузите образец и сравните дерево типов с JSON, затем проверьте свой пакет или закодируйте обычный JSON в конвертере MessagePack.

Обработка выполняется локально в браузере.