【发布时间】:2013-08-06 12:41:06
【问题描述】:
我们有 .NET protobuf Web 服务,其中一个会返回一个 GUID 作为响应,如下所示:
return newItemGuid;
如何从 Android 代码中读取这个值?我们收到 20 个字节的响应,并将它们传递给 parseFrom(byte[]) 或 parseFrom(InputStream) 不起作用 - 返回值为空 Guid。
如何正确解析这样的响应?
以下是响应的字节数:
[10, 18, 9, 73, -7, 96, 69, -115, -33, 29, 68, 17, -107, -110, -92, 46, -100, -113, -10, -64]
GUID 应该是:4c6640a7-c955-4c34-b2d7-7b470cba4a9c
【问题讨论】:
-
好吧,一个 guid 不是 20 字节;它是 16 个字节。您有我们可以看到的这 20 个字节的示例吗?理想情况下它代表的指南?例如,这可能是 guid 的 base-64 编码的 ASCII 吗? (嗯......不,那将是 24 个字节)
-
Protobuf 添加了一些额外的数据,这就是它不是纯 16 字节的原因。奇怪的是它的
parseFrom()方法并没有正确使用传递的值。 -
哇;我什至没有注意到这是一个 protobuf-net 问题! (这很讽刺);一会儿……
标签: android web-services protocol-buffers guid protobuf-net