如何将协议缓冲区List <integer>转换为String </integer>

时间:2014-09-15 20:04:46

标签: java protocol-buffers

我有一个服务,它将UUID存储在协议缓冲区的重复uint32字段(二进制编码的id)中。 如何将此(在解码到List之后)转换回String / UUID?

1 个答案:

答案 0 :(得分:1)

我不确定你在protobuf列表中得到了什么字节序,但这样的事情应该有用:

ByteBuffer buffer = ByteBuffer.allocate(4 * 4);
buffer.order(ByteOrder.BIG_ENDIAN);

for (Integer i : intList) {
    buffer.putInt(i);
}

buffer.flip();
return new UUID(buffer.getLong(0), buffer.getLong(8));