CBORエンコーダー / デコーダー
JSON値をCBOR(RFC 8949)バイナリデータとしてhexまたはBase64にエンコードするか、CBORバイトをJSONにデコードします。ブラウザ内で完全に動作します。
入力
出力
ガイド
CBORとは
CBOR(Concise Binary Object Representation、RFC 8949)は、JSONと同じデータモデル(数字、文字列、配列、マップ、ブール値、null)に基づいて構築された二進ファイル形式ですが、テキストではなくコンパクトなバイトとしてエンコードされています。すべての値は短い型ヘッダー(メジャータイプ+長さ)の直後にその内容が続きます。そのため、句読点、引用符、ペイロードを埋めるための空白はありません。
このコンパクトさが、帯域幅または解析コストが重要である場所にCBORが現れる理由です。CoAP(制約されたIoTデバイス用のHTTPのようなプロトコル)、COSE(WebAuthnとFIDO2パスキーで使用される署名/暗号化されたCBORオブジェクト)、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の3バイト「シンプル値」エンコーディングを使用します。 - 非整数値(小数点を含む、または安全な整数として大きすぎるもの)は8バイトの倍精度浮動小数点数としてエンコードされます。このツールはCBORのオプションの半精度/単精度ショートカットではなく、常に倍精度を使用して、サイズの利便性を損失のないラウンドトリッピングと交換します。
- デコードは、JSONに存在しないCBORの概念(バイト文字列、タグ、「シンプル」値)も理解します。JSON互換のプレースホルダーで表現します(たとえば、バイト文字列は
"h'a1b2c3'"にデコードされ、タグは{"$tag": N, "value": ...}にデコードされます)。失敗する代わりに。
よくある質問
通常の数字をエンコードするときに、サイズが予測不可能に変わることがあるのはなぜですか? CBORは常に整数の大きさに対して最短の有効なヘッダーを選択します。10は1バイト、1000は3バイト、100000は5バイトです。これはバグではなく、フォーマットのポイントです。
別のライブラリによって生成された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"
}'ご自身のアカウントのキーに差し替えてください。ツールのフィールドがそのままリクエストボディになります——ラッパーはありません。
AIエージェントに依頼する
Use the IOTools `cbor-encoder-decoder` tool (CBOR Encoder / Decoder) on this input:
YOUR_INPUT_HEREIOTools MCPサーバーに接続された任意のエージェントにこれを貼り付け、入力内容を追加してください。
埋め込みウィジェット
<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>ご自身のページに貼り付けるだけ——無料、キー不要、リンクを掲載するだけです。
| 1回あたりの費用 | 5クレジットから |
|---|