Перейти к основному содержанию

Кодировщик/декодировщик CBOR

Кодируйте значение JSON в двоичные данные CBOR (RFC 8949) в формате hex или Base64, либо декодируйте байты CBOR обратно в JSON. Работает полностью в вашем браузере.

Ввод

Вывод

Результат
Это было полезно?

Руководства

Что такое CBOR?

CBOR (Concise Binary Object Representation, RFC 8949) — это формат двоичных данных, построенный на той же модели данных, что и JSON — числа, строки, массивы, карты, логические значения и null — но закодированный как компактные байты вместо текста. Каждое значение представляет собой короткий заголовок типа (основной тип + длина), сразу же за которым следует его содержание, поэтому нет пунктуации, без кавычек и без пробелов для заполнения полезной нагрузки.

Именно эта компактность — причина, по которой CBOR появляется везде, где имеет значение пропускная способность или стоимость анализа: CoAP (протокол, подобный HTTP, для устройств IoT с ограничениями), COSE (подписанные/зашифрованные объекты CBOR, используемые в WebAuthn и ключах FIDO2), CWT (токены веб-CBOR, двоичный аналог JWT), адресуемое по содержимому хранилище Docker и бесчисленные встроенные и энергосберегающие протоколы обмена сообщениями. Если JSON — это «машиночитаемые данные в сети», то CBOR — это та же модель данных, созданная для сетей с ограниченным бюджетом байтов.

Как это использовать

  1. Выберите режим:
    • Кодировать JSON → CBOR — вставьте значение JSON (объект, массив, строку, число, логическое значение или null) в поле ввода. Инструмент его анализирует и кодирует в CBOR, отображая результат как Hex или Base64 (выберите формат из раскрывающегося списка).
    • Декодировать CBOR → JSON — вставьте байты CBOR как hex или Base64; формат определяется автоматически. Инструмент декодирует байты и отображает эквивалентное значение JSON с красивым форматированием.
  2. Скопируйте или загрузите результат кнопками в поле вывода.
  3. Обработка происходит мгновенно при вводе текста или переключении режимов — отдельного шага «запуск» нет.

Как значения отображаются между JSON и CBOR

  • Целые числа кодируются, используя кратчайшую форму CBOR: значения 0–23 помещаются в один байт заголовка; большие величины используют длину продолжения 1/2/4/8 байтов, выбираемую автоматически. Отрицательные числа используют специальный основной тип целого числа со знаком CBOR.
  • Строки — это строки текста UTF-8 (основной тип CBOR 3).
  • Массивы и объекты отображаются на массивы и карты CBOR (основные типы 4 и 5) — ключи объектов всегда кодируются как текстовые строки.
  • true, false, null используют трехбайтовое кодирование CBOR «простое значение».
  • Нецелые числа (любое число с десятичной точкой или слишком большое для безопасного целого числа) кодируются как 8-байтовые числа с плавающей точкой двойной точности — этот инструмент всегда использует двойную точность вместо дополнительных ярлыков CBOR половинной/одинарной точности, обменивая несколько байт размера на простоту и точность округления.
  • Декодирование также понимает концепции CBOR, которых нет в JSON — строки байтов, теги и «простые» значения — представляя их как удобные для JSON заполнители (например, строка байтов декодируется в "h'a1b2c3'", тег в {"$tag": N, "value": ...}) вместо ошибки.

FAQ

Почему кодирование обычного числа иногда неожиданно меняет размер? CBOR всегда выбирает кратчайший допустимый заголовок для величины целого числа — 10 это один байт, 1000 это три, 100000 это пять. Это не ошибка; это смысл формата.

Могу ли я декодировать CBOR, созданный другой библиотекой? Да — декодирование обрабатывает произвольный корректный CBOR (любая комбинация основных типов, определённая или неопределённая длина, теги), а не только данные, созданные этим инструментом.

Что происходит с неправильным или усечённым вводом? Оба режима выводят чёткую встроенную ошибку (неверный JSON или точное описание того, что не так с байтами CBOR — например, «Неожиданный конец данных CBOR») вместо молчаливого отказа.

Мои данные загружаются где-то? Нет — кодирование и декодирование работают полностью в вашем браузере. Ничто, что вы вставляете, не отправляется на сервер.

cborjsonbinaryencoderdecoderrfc8949iotcoap

Другие способы использовать этот инструмент

REST API

curl -X POST https://api.iotools.cloud/v1/tool/cbor-encoder-decoder \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "inputText": "[1,2,3]",
    "mode": "encode",
    "outputFormat": "hex"
  }'

Подставьте свой собственный ключ из аккаунта. Поля инструмента — это тело запроса, без обёртки.

Спросите у ИИ-агента

Use the IOTools `cbor-encoder-decoder` tool (CBOR Encoder / Decoder) on this input:

YOUR_INPUT_HERE

Вставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.

Виджет для встраивания

<iframe
  src="https://iotools.cloud/embed/cbor-encoder-decoder/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Кодировщик/декодировщик CBOR — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.

Стоимость вызоваОт 5 кредитов

Также доступно через

Нравятся инструменты? Уберите рекламу.

Один платёж навсегда убирает всю рекламу с вашего аккаунта. Без подписки, без слежки.