【发布时间】:2022-11-11 06:46:10
【问题描述】:
我有一个程序,它使用带有结构的 MessagePack 在 .NET 中序列化大量数据(450 个数据点)。我可以反序列化 Python 中的数据,但无法获得 Python 中的密钥结构。
。网
byte[] statusBytes = Decompress(compressedData);
StatusT statusObject = new StatusT();
using (var ms = new MemoryStream(statusBytes))
{
MessagePackSerializer<StatusT> serializer = MessagePackSerializer.Get<StatusT>();
statusObject = serializer.Unpack(ms);
}
Python
bStripped = compressedData[4:]
statusBytes= gzip.decompress(bStripped)
return msgpack.unpackb(statusBytes)
这给了我一个最终有约 450 个元素(一旦展平)的列表,我无法从中获得关键结构。例如:
Python 输出
>> [[0, 0, 0], [0, 'BubbleDisable', ['connected', 0], 0, 7, 0, 59, 11, [0], 0, 0, 937], ... [224,['connected', 0], 6, 224]]
我不知道如何使用 C# 中给出的 struct StatusT 定义在 Python 中获取反序列化数据的标头(/键)。
【问题讨论】:
标签: python c# serialization msgpack