-
Notifications
You must be signed in to change notification settings - Fork 0
MS_DahomeyCbor
nishi_74322014 edited this page Sep 1, 2026
·
1 revision
- 戻る(CBOR)
- PeterO.Cbor
- Dahomey.Cbor
- .NET Standard 対応の CBOR 対応ライブラリ。
(記載なし)
移行メモ: 原典の「概要」は 2 項目めが空(
-のみ)で、
「詳細」節も見出しのみで本文が存在しない。
補足(Dahomey.Cbor の特徴): PeterO.Cborとの
比較表はそちらに掲げたので、ここでは使い勝手の面を補う。Dahomey.Cbor は
System.Text.Jsonに似た API を提供し、
既存の POCO をほぼそのまま CBOR に載せられる点が特徴である。// シリアライズ using var stream = new MemoryStream(); await Cbor.SerializeAsync(myObject, stream); // デシリアライズ stream.Position = 0; var obj = await Cbor.DeserializeAsync<MyClass>(stream);つまり、JSON で作っていた API を CBOR に置き換えるという
用途に向いている。
目的 効果 転送量の削減 JSON より小さい(数値・バイナリが効率的) パース速度 テキスト解析が不要な分だけ速い バイナリをそのまま載せられる JSON のように Base64 にしなくてよい 特に IoT やモバイル(IoT関連の通信プロトコル)では
帯域と電力の制約が厳しいため、JSON : {"id":1234,"data":"SGVsbG8="} ← Base64 で 33% 増える CBOR : (バイナリのまま格納。短い)という差が効いてくる。
ただし、
注意 内容 可読性が無い デバッグ時に中身が見えない(変換ツールが要る) 対応の広さ JSON ほど普遍的ではない(相手が対応している必要がある) ライブラリ依存 標準ライブラリにはマッピング機能が無い という制約がある。
JSON で足りるなら JSON を使うというのが基本方針で、
CBOR を選ぶのは帯域・電力・仕様上の要求がある場合になる
(MessagePack、Protocol Buffersも
同種の選択肢である)。
- NuGet Gallery | Dahomey.Cbor 1.10.4
https://www.nuget.org/packages/Dahomey.Cbor/ - dahomey-technologies/Dahomey.Cbor:
High-performance CBOR (RFC 7049) serialization framework for .Net (C#)
https://github.com/dahomey-technologies/Dahomey.Cbor
Tags: 移行, IT国際標準, プログラミング, 通信技術, .NET開発, .NET Core
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。