なぜ BDOB を JSON に変換するのですか?
CBOR は JSON のバイナリ版のようなもので、容量の節約とパースの高速化のために使用されますが、人間が読むことはできません。.bdob を .json にデコードすることで、データの検査、編集、差分比較、またはテキストの JSON しか扱えないツールへの入力が可能になります。
BDOB から JSON への変換方法
cbor2 (Python) OPEN-SOURCE
pip install cbor2 でインストールし、python -m cbor2.tool -d file.bdob --pretty を実行して、デコードされたデータを整形済み JSON として出力します。ファイルに書き出すには -o out.json を追加します。
これらの形式について
.bdobファイルは NATO Binary Binding Data Object です。これは、メタデータ(通常は機密ラベル)をデータオブジェクトにバインドする小さなバイナリレコードです。NATO メタデータバインディングメカニズム(ADatP-4778)によって定義され、CBOR バイナリ形式で保存されます。これは XML…
.BDOB の詳細を開く →JSON ファイルは JavaScript Object Notation 形式のプレーンテキストデータファイルで、ウェブ API、アプリの設定、データのエクスポートに使用されます。Windows のメモ帳や Mac の TextEdit など、あらゆるテキストエディタで開くことができますが、本格的な作業には VS Code や Notepad++…
.JSON の詳細を開く →品質と注意点
- この変換は公式に「非可逆(lossy)」とされています。バイト文字列、文字列以外のマップキー、CBOR タグなどは、JSON で表現可能な形式に平坦化されます。
.bdobが特定のアプリから生成されたものである場合、そのスキーマはファイル内に記述されていないため、生の構造は取得できても、意味のあるフィールド名が得られるとは限りません。- 特殊な浮動小数点数(NaN、Infinity)や非常に大きな整数は、元の CBOR と同一の状態に戻らない可能性があります。
よくある質問
`.bdob` は常に CBOR ですか?
.bdob という名前はバイナリデータ(binary data blob)であることを示しており、CBOR は一般的なケースですが、デコードして確認してください。cbor2 でエラーが出る場合は、別のバイナリ形式が使用されています。JSON から元の `.bdob` に完全に戻せますか?
cbor2.dumps で再エンコードすると、元のバイナリとはわずかに異なるバイト列になる可能性があります。コードを書く必要はありますか?
python -m cbor2.tool は完成されたコマンドラインユーティリティですし、cbor.me はインストールすら不要です。先にデータを編集することはできますか?
cbor2 で再エンコードしてください。