Кодировщик/декодировщик 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 — это та же модель данных, созданная для сетей с ограниченным бюджетом байтов.
Как это использовать
- Выберите режим:
- Кодировать JSON → CBOR — вставьте значение JSON (объект, массив, строку, число, логическое значение или
null) в поле ввода. Инструмент его анализирует и кодирует в CBOR, отображая результат как Hex или Base64 (выберите формат из раскрывающегося списка). - Декодировать CBOR → JSON — вставьте байты CBOR как hex или Base64; формат определяется автоматически. Инструмент декодирует байты и отображает эквивалентное значение JSON с красивым форматированием.
- Кодировать JSON → CBOR — вставьте значение JSON (объект, массив, строку, число, логическое значение или
- Скопируйте или загрузите результат кнопками в поле вывода.
- Обработка происходит мгновенно при вводе текста или переключении режимов — отдельного шага «запуск» нет.
Как значения отображаются между 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») вместо молчаливого отказа.
Мои данные загружаются где-то? Нет — кодирование и декодирование работают полностью в вашем браузере. Ничто, что вы вставляете, не отправляется на сервер.
Другие способы использовать этот инструмент
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 кредитов |
|---|