我仍然不確定我的問題的標題是否正確,最可能不是。然而,我花了一些時間搜索網絡和計算器,我無法找到我面臨的問題的一個很好的描述。有條件的反序列化
基本上我想要實現的是讀取一些原始字節的能力,並根據其中一些字節的值以不同方式解釋其餘字節。這就是TLV的工作原理,您可以檢查標籤並根據它來解釋結果。當然,我始終可以在C++代碼中保留該邏輯,但是我正在尋找一種可以將邏輯從源代碼中移出的解決方案(可能是某種xml描述)。這將允許我更容易地描述不同的編碼(協議)。我熟悉Protocol Buffers和其他一些序列化庫,但是它們都解決了不同的問題。他們假設他們在溝通的兩端,而我想描述溝通(有點)。
這樣的解決方案是否可用,如果否 - 爲什麼不?我是否會遇到一些固有的困難,我會努力實現它。