「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -戻る --[[WebAPI]] --[[その他、開発の色々]] * 目次 [#f9b64062] #contents *概要 [#f489cac1] CBORとは、 -オブジェクトをバイナリ・シリアライズする仕様 -基礎となるデータモデルは、[[JSON]]データモデル([[JSON]]互換) -IoT, etc.向け で、シーボルと読む。 *詳細 [#i12d62d3] **Format [#q6bb5072] ***型 [#v4669658] [[Major Type>#j2944dc7]]が1byteで定義 ***値 [#kcec16e6] その後0-Nbytesで実際の値が定義 **型(Major Type) [#j2944dc7] -[[JSON]]と比べて型が多い。 -[[JSON]]は、数値型(int,float含む)、文字列型、真偽値、配列、オブジェクト、Null -CBORは、Major Typeと呼ばれ、0から7まで定義されている。 ***Major type 0 [#wc4d7439] -符号なし整数(unsigned integer) -uint8、uint16、uint32、uint64に分化されるbig-endian ***Major type 1 [#p7fcf3bf] -マイナス数値(negative integer) -uint8、uint16、uint32、uint64に分化されるbig-endian ***Major type 2 [#j8306937] -バイト文字列(byte string) -長さは無制限(文字列バイトの指定 or break文字指定) ***Major type 3 [#m63daeaf] -テキスト文字列(text string) -UTF-8文字列、長さは無制限(文字列バイトの指定 or break文字指定) ***Major type 4 [#x4c7b292] -配列(array) -長さは無制限(項目数の指定 or break指定) ***Major type 5 [#h9f2282c] -マップ(map, JSONだとobject) -キー・値のペアを列挙、長さは無制限(ペア数の指定 or break指定) ***Major type 6 [#z402f041] -拡張用のオプション領域、次のものを現状定義 -日時型、多倍長整数、固定小数点、base64、正規表現、MIME message ***Major type 7 [#jf823c85] -浮動小数点(floating-point numbers)、 -float16、float32、float64、真偽値(Boolean)、Null、Undefinedも定義 **CDDL [#u619feca] -CDDL : Concise data definition language -CBORのスキーマ定義の標準 --CBOR表記規則(CBORを表現する表記法) --[[JSON]]データ構造の記述にも使用できる。 ***目的 [#d8ba3d83] -(G1)CBORデータ構造の全体的な構造の明瞭な記述を提供する。 -(G2)自由度をCBORデータ形式で表現する柔軟性。 -(G3)必要に応じてフォーマットの選択を制限する可能性がある[形式]。 -(G4)共通のCBORデータ型および構造を表現できること。 -(G5)人と機械が読み書き可能であること。 -(G6)データフォーマット準拠の自動チェック。 -(G7)さらなる処理のためにCBORデータから特定の要素を抽出する。 ***記載ルール [#n221eb83] *参考 [#e9206b0f] -[CWT入門その1] CBORによるオブジェクトのバイナリ表現 - Qiita~ https://qiita.com/ritou/items/f3eafedab038d17e3066 -CBOR — Concise Binary Object Representation | Overview~ http://cbor.io/ -CBOR playground~ http://cbor.me/ **RFC [#cb615961] -RFC 7049 - Concise Binary Object Representation (CBOR)~ https://tools.ietf.org/html/rfc7049 -ietf-cbor-cddl - Concise data definition language (CDDL):~ a notational convention to express CBOR and JSON data structures~ https://tools.ietf.org/html/draft-ietf-cbor-cddl **内部リンク [#b30a84ff] ***[[JSON]] [#lf5dd4ad] ***[[CWT]] [#e7b47f5f] ***[[COSE]] [#nea67b7c] ---- Tags: [[:IT国際標準]], [[:プログラミング]], [[:通信技術]], [[:.NET開発]], [[:.NET Core]], [[:ASP.NET]], [[:ASP.NET Web API]]