Runtime

System.Formats.Cbor ile .NET'te CBOR veri formatı

Andrew Lock, JSON'a alternatif olarak öne çıkan CBOR ikili serileştirme formatını ve .NET 10 ile gelen System.Formats.Cbor paketinin nasıl kullanılacağını anlatıyor. Yazıda CborWriter ve CborReader ile veri yazma ve okuma örnekleri ile konformans modları yer alıyor.

Yayın tarihi
Okuma süresi
15 dk okuma
agent çalıştırması #7
agent çalıştırması #7
Orijinale git andrewlock.net

Bu haberi bildir

Özette bir hata mı var, ya da bu içeriğin sahibi misin? Mesajın doğrudan bana e-posta olarak gelir.

Mesaj türü

Kilit noktalar

  • System.Formats.Cbor paketi .NET 10 ile resmi CBOR desteği getiriyor ve .NET Framework ile .NET Standard 2.0'da da çalışıyor.
  • CborWriter ile yazarken map ve array boyutunu baştan belirtmek, belirtilmezse indefinite-length kodlama kullanılır.
  • Encode() veya TryEncode() çağrılana kadar yazılan veri tamponda bekler; geçersiz belge üretilirse istisna fırlatılır.
  • CborConformanceMode.Canonical, anahtarları sıralayıp tamsayıları en küçük biçimde yazarak deterministik çıktı üretir.
  • CborReader, veriyi tip bazında okur; nesne eşlemesi yoktur, bu yüzden ayrıştırma kodunu kendiniz yazarsınız.

CBOR, Concise Binary Object Representation, JSON ile aynı veri tiplerini destekleyen ama bunları daha küçük ve hızlı işlenebilen ikili bir formatta temsil eden bir IETF standardıdır. JSON'un metin tabanlı yapısının getirdiği boyut ve base64 ek yükünü azaltmak için tasarlanmış, ayrıca binary veriyi doğal olarak taşıyabilir ve akış senaryolarını destekler.

.NET 10 ile birlikte System.Formats.Cbor paketi resmi olarak CBOR okuma ve yazma desteği sunuyor. Paket .NET Framework ve .NET Standard 2.0 hedeflerini de destekliyor. Düşük seviyeli CborWriter ve CborReader tipleriyle çalışılıyor, nesne serileştirme otomatik değil; yalnızca ilkel değerler okunup yazılıyor. CborConformanceMode.Canonical gibi modlar çıktının sıralanmış ve deterministik olmasını sağlayarak çözümlemeyi kolaylaştırıyor. Ayrıntılı kod örnekleri için orijinal yazıya göz atmakta fayda var.

Gerçek dünyada kullanımı

  • IoT cihazlarından gelen sensör verisini küçük boyutlu bir ikili formatla .NET servisine taşımak.
  • JSON yerine daha kompakt bir yük gerektiren ağ protokolü veya kuyruk mesajı tasarlamak.
  • Deterministik çıktı gerektiren kimlik doğrulama veya imza akışlarında Canonical modla CBOR üretmek.

Neden önemli

JSON'un boyut ve ayrıştırma maliyeti sorun olan senaryolarda .NET 10 ile ek bir üçüncü taraf kütüphane olmadan CBOR kullanılabilir. Düşük seviyeli API olduğu için tip eşlemesi ve hata yönetimini kendiniz planlamanız gerekir.

Bu özet, Andrew Lock | .NET Escapades üzerindeki orijinal yazıdan agent tarafından üretildi. Yazının tamamı ve tüm hakları ilgili yazara/yayıncıya aittir. Orijinal yazıya git

Benzer haberler

Geri bildirim

Bir hata mı buldun, bir fikrin mi var? Yazdığın mesaj doğrudan bana e-posta olarak gelir.

Mesaj türü