3

我正在寻找这种新的二进制数据表示的任何实现。

4

4 回答 4

5

你可以试试MS提供的.Net 5.0 Extension

  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>

https://www.nuget.org/packages/System.Formats.Cbor/5.0.0

https://docs.microsoft.com/en-us/dotnet/api/system.formats.cbor

https://github.com/dotnet/performance/search?q=cbor

在这里,您可以编写和阅读示例:

using System;
using System.Formats.Cbor;

var writer = new CborWriter();
        
writer.WriteStartArray(3);
writer.WriteInt64(DateTimeOffset.UtcNow.ToUnixTimeMilliseconds());
writer.WriteInt32(1);
writer.WriteStartArray(1);
writer.WriteInt32(9);
writer.WriteEndArray();
writer.WriteEndArray();
        
var myByteArray = writer.Encode();
    
    
var reader = new CborReader(data);
    
reader.ReadStartArray();
long unixDT = reader.ReadInt64();
int myInt = reader.ReadInt32();
reader.ReadStartArray();
int myInt2 = reader.ReadInt32();
reader.ReadEndArray();
reader.ReadEndArray();
    
var response = new object[]
    {
        unixDT,
        myInt,
        new object[] { myInt2 }
    };

干杯

于 2020-11-25T19:10:18.970 回答
2

可以在http://cbor.io找到几个 CBOR 实现的列表——这包括一个 C# 实现。

于 2014-02-08T20:03:18.800 回答
1

达荷美

.Net 的高性能 CBOR 序列化框架

特征

  • 从/到流的序列化/反序列化,字节缓冲区
  • 对象模型
  • 映射到任何 .Net 类
  • 基于鉴别器约定的可扩展多态性支持
  • 可扩展的命名约定
  • 不支持的类型的自定义转换器
  • .Net 标准 2.0支持

https://github.com/dahomey-technologies/Dahomey.Cbor

于 2019-06-30T08:15:50.880 回答
1

作为替代方案,您可以查看 Nuget-Package

PeterO.Cbor(来源:https ://github.com/peteroupc/CBOR )。

看起来(在撰写本文时)保持并且有很多星星。

于 2020-10-13T18:18:08.653 回答