2017-05-03 33 views
1

剛剛瞭解了protobuf,我在想這是超級酷,並且想知道我以前從未聽說過它。我知道這不是爲了人眼​​,而是真正的端到端傳輸。我試圖找出答案,但還沒有找到答案。如果你可以以某種方式解開它來找到字段+值,那麼是否給你編碼的消息?Protobuf從消息數據中獲取架構

模式名稱可能不存在,但即使只是能夠說這個對象有x個字段,值是x,y,z。

如果這有什麼差別(儘管它不應該)我使用的是蘋果的迅速-protobuf的(https://github.com/apple/swift-protobuf

回答

1

電線格式記錄在這裏: https://developers.google.com/protocol-buffers/docs/encoding

可以解碼頂級消息,但對於嵌入的長度分隔的字段,您不知道它們是代表字符串還是嵌套消息。除組外,編碼消息中的所有導線類型都可以映射到多個字段類型。例如,32位字段可以存儲整數或浮點數。長度分隔的字段可以包含嵌套的消息或字符串等。確切的映射由模式(= .proto文件)確定,該模式通常爲發送者和接收者所知,並且不包含在二進制數據中。