Выбрать представление входа
По умолчанию последовательности \r и \n преобразуются в байты CRLF. Для произвольных бинарных данных выберите Hex; одиночный LF не исправляется.
- Длина считается в байтах UTF-8, а не в видимых символах.
Протоколы и бинарная сериализация
Вставьте RESP с экранированными символами или Hex-байты и изучите кадры без соединения с Redis.
Введите RESP или выберите пример.
Локальный разбор: без подключения к Redis и загрузки данных.
Введите RESP или выберите пример.
Ответ Redis в библиотеке уже преобразован в привычное значение, поэтому ошибка в $5 или *3 может остаться незаметной. Парсер RESP Redis показывает префиксы, байтовые диапазоны и вложенные типы исходного сообщения.
Границы и типы исходного потока остаются проверяемыми.
Парсер RESP Redis сверяет заявленную длину каждого фрагмента RESP3 с реальными байтами и ищет завершающий маркер. Неполный поток не выдаётся за готовое значение.
Бинарный bulk остаётся в Hex, map содержит упорядоченные пары, а атрибут прикрепляется к следующему значению. Обычный объект JSON потерял бы эти различия.
По умолчанию последовательности \r и \n преобразуются в байты CRLF. Для произвольных бинарных данных выберите Hex; одиночный LF не исправляется.
Авто принимает общие типы RESP2 и RESP3 и отмечает префиксы, требующие RESP3. Режим RESP2 отклоняет их, но не угадывает согласованную версию.
В дереве видны байтовый диапазон и объявленная длина. Верхний массив строк получает сводку о форме команды без проверки её допустимости на сервере.
Разбор RESP отличает null bulk от пустого bulk, массив от map и ошибочный ответ сервера от ошибки формата входа.
Заявленное число сверяется с реальными байтами UTF-8 и завершающим CRLF. Первый сбой получает смещение и строку ввода.
Сообщения pipeline показаны по порядку. Массив, похожий на команду, получает имя и число аргументов без обещания, что Redis примет его.
Декодирование Redis сохраняет Hex для бинарных данных, десятичный текст для больших чисел, пары map и атрибуты RESP3.
Вставьте экранированный RESP или Hex. Дерево покажет тип каждого префикса, диапазон байтов и вложенные значения без подключения к серверу.
После $ идут длина в байтах, CRLF, указанное число байтов данных и ещё CRLF. Один символ UTF-8 может занимать несколько байтов.
Типы map, boolean, attribute и push требуют RESP3. Если ответ состоит только из общих типов, фактическая версия соединения неизвестна.
Если верхний уровень — массив строк, показываются имя и аргументы. Это проверка формы кадра; инструмент не выполняет команду и не знает состояние Redis.
$-1 означает null bulk, а $0 с двумя CRLF — пустую bulk-строку. Дерево и типизированный JSON сохраняют разницу.
Остался вопрос?
Найдите первое неверное смещение до изменения клиента. Парсер RESP Redis открывает экспорт только после полного успешного разбора.
Обработка выполняется локально в браузере.