我有以下 protobuf 文本,并想在 C# 中反序列化。我已经尝试了下面的代码,但它一直抛出错误'类型不是预期的,并且无法推断出任何合同: System.Object。我知道我需要一个模式是否有办法将 protobuf 文本数据转换为字符串或 Json。我正在使用 Marc Gavell 库 protobuf-net。
public void DeserializeProtobuf()
{
var path = $"../../protobufSingleEntry.txt";
byte[] byteArray = Encoding.UTF8.GetBytes(path);
MemoryStream stream = new MemoryStream(byteArray);
Serializer.Deserialize<object>(stream);
}
protobufSingleEntry.txt
00000000: 7e6d 7e37 357e 6d7e 0829 1247 0a0f 7173 ~m~75~m~.).G..qs
00000001: 5f67 554d 4463 7556 514e 6837 3912 0f42 _gUMDcuVQNh79..B
00000002: 494e 414e 4345 3a42 5443 5553 4454 1a02 INANCE:BTCUSDT..
00000003: 6f6b 293d 0ad7 a3b0 7cc6 4035 0ad7 73c3 ok)=....|.@5..s.
00000004: 3de1 7a04 c051 5c05 31d0 037d cc40 9a01 =.z..Q\.1..}.@..
00000005: 027b 7d7e 6d7e 3735 7e6d 7e08 2912 470a .{}~m~75~m~.).G.
00000006: 0f71 735f 4e7a 784f 7a4a 4d79 4277 6b6b .qs_NzxOzJMyBwkk
00000007: 120f 4249 4e41 4e43 453a 4254 4355 5344 ..BINANCE:BTCUSD
00000008: 541a 026f 6b29 3d0a d7a3 b07c c640 350a T..ok)=....|.@5.
00000009: d773 c33d e17a 04c0 515c 0531 d003 7dcc .s.=.z..Q\.1..}.
0000000a: 409a 0102 7b7d @...{}