Любая реализация.NET сжатого представления двоичных объектов (CBOR).NET?

Я в поисках любых реализаций этого нового представления двоичных данных.

1 ответ

Вы можете попробовать расширение.Net 5.0, предоставленное MS

  <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 }
    };

Ура

Список нескольких реализаций CBOR можно найти по адресу http://cbor.io/ - это включает в себя реализацию C#.

Dahomey.Cbor

Высокопроизводительный фреймворк сериализации CBOR для.Net

Характеристики

  • Сериализация / десериализация из / в потоки, байтовый буфер
  • Объектная модель
  • Сопоставление с любым классом.Net
  • Поддержка расширяемого полиморфизма на основе соглашений о дискриминаторах
  • Расширяемые соглашения об именах
  • Пользовательские конвертеры для неподдерживаемых типов
  • .Net Standard 2.0 поддержка

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

В качестве альтернативы вы можете посмотреть Nuget-Package

PeterO.Cbor (источник: https://github.com/peteroupc/CBOR).

выглядит (на момент написания) сохраненным и имеет много звезд.

Другие вопросы по тегам