我想使用UUID类型并以Base64编码格式输出它,但是鉴于Base64上的输入方法和UUID上的输出,如何实现这一点似乎并不明显。

更新尽管不是我的用例的明确要求,但很高兴知道所使用的方法是否使用了UUID的原始UUID(实际上是UUID的128位),就像标准十六进制编码一样。

最佳答案

首先,将您的UUID转换为字节缓冲区,以供 Base64 encoder使用:

ByteBuffer uuidBytes = ByteBuffer.wrap(new bytes[16]);
uuidBytes.putLong(uuid.getMostSignificantBits());
uuidBytes.putLong(uuid.getLeastSignificantBits());

然后使用编码器对其进行编码:
byte[] encoded = encoder.encode(uuidBytes);

或者,您可以获取如下所示的Base64编码的字符串:
String encoded = encoder.encodeToString(uuidBytes);

09-25 18:10