1
如何顯示協議緩衝區消息中的所有元素? 我是否需要使用反射或將消息轉換爲XML消息,然後顯示它?理想情況下,一些通用代碼將適用於任何消息。 拉斯顯示協議緩衝區消息中的所有元素
如何顯示協議緩衝區消息中的所有元素? 我是否需要使用反射或將消息轉換爲XML消息,然後顯示它?理想情況下,一些通用代碼將適用於任何消息。 拉斯顯示協議緩衝區消息中的所有元素
甲protobuf的消息是在內部不明確的,除非你有.proto模式(或可以推斷架構)可用的,如(例如)「字符串」線型可以表示:
對於所有導線類型(可能除了「組」)都存在類似的歧義。
我的建議是通過現有的反序列化過程(針對大概在項目中可用的類型模型)運行它以獲得適合檢查的對象模型。從對象模型你有所有通常的選擇 - 反射,通過XmlSerializer
/JavaScriptSerializer
等序列化
如果你只有原始數據,有一個wireshark插件可能有幫助,或protobuf網存在一個ProtoReader類可能對解析這樣的流有用;但這裏強調的是,這個流是孤立解密的棘手。
我確實有.proto文件,這有幫助嗎? – user294569 2011-06-16 13:56:06
@ user294569那麼最簡單的方法是*仍然*將其反序列化爲您的對象模型:) – 2011-06-16 14:40:10