Protobuf Kullanıcı mesaj örneğimde bir alana UUID eklemek istiyorum.Bir protobuf mesajında bir UUID'yi nasıl temsil edebilirim?
message User {
// field containing id as UUID type
required string email;
optional string name;
}
Protobuf iletilerinin henüz UUID türünü desteklemediğini biliyorum. En iyi yaklaşımın UUID mesaj tipine sahip olduğunu okudum.
import "myproject/UUID.proto";
message User {
required UUID id;
required string email;
optional string name;
}
Sorum şu, nasıl olacak UUID mesajı bakmak gibi ve nasıl:
Yani benim UUID mesajı proto tanımını içe ve bir alan şöyle türü olarak kullanmak istiyorsunuz benim Kullanıcı mesaj tahmin ediyorum onu kodlayacak/çözecek miyim? Java/Scala ve C# uyumluluğunu hedefliyorum.
Teşekkürler Kenton, cevabınız açık ve yardımseverdi. Sanırım bayt kullanmanın yolunu bulmaya çalışacağım ve mesaj sadece biraz daha az bant genişliği tüketecek. UUID 'xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx' şeklini alır, bu formdan 128 bitlik ham değeri en verimli şekilde nasıl alacağınızı bilir misiniz? Ya da bana doğru yönde gidebilecek herhangi bir çevrimiçi kaynak? –
Nevermind, UUID'yi bir dize olarak saklamak işleri çok daha az ağrılı hale getiriyor ... –
@Hyperreal: FWIW, baytlara dönüştürmek için tireleri çıkarır ve geri kalanını bir hex dizgesi olarak yorumlar - her iki basamak bir bayt olur . Ama evet, muhtemelen bir ipi saklamak daha kolay. –