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