Любая реализация.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 поддержка
В качестве альтернативы вы можете посмотреть Nuget-Package
PeterO.Cbor (источник: https://github.com/peteroupc/CBOR).
выглядит (на момент написания) сохраненным и имеет много звезд.