我正在解析来自 UDP 流的一些输入。该协议有点像二进制查询字符串。它会发送一个代码字节,告诉您如何读取以下字节。例如,代码值 1 可能意味着接下来的 4 个字节是一个旨在作为 ID 的 int,值 2 可能意味着接下来的 4 个字节是一个旨在成为 Velocity 的 int,值 3 可能意味着一个浮点数对于纬度,值 4 可能意味着下一个字节是一个长度为 int 的字符串。
是否有使用这些规则解析事物的设计模式?我敢肯定,必须有一些比在代码值上大开关更好的方法。我在 C# 中使用 BinaryReader,但我想有一个与语言无关的解决方案。