我正在使用以下代码将Guid转换为Base64:
var id = Guid.Parse("be9f1bb6-5c8e-407d-85a3-d5ef31f21b4d");
var base64=Convert.ToBase64String(id.ToByteArray());
输出
thufvo5cfUCFo9XvMfIbTQ==
当我尝试在Java中使用以下代码做相同的事情时:
java.util.Base64.Encoder encoder=Base64.getEncoder();
UUID uuid = UUID.fromString("be9f1bb6-5c8e-407d-85a3-d5ef31f21b4d");
ByteBuffer bb = ByteBuffer.wrap(new byte[16]);
bb.putLong(uuid.getMostSignificantBits());
bb.putLong(uuid.getLeastSignificantBits());
encoder.encodeToString(bb.array());
不同的输出结果
vp8btlyOQH2Fo9XvMfIbTQ==
我的Java代码哪里出了问题?我该如何获得与C#相同的结果?
bb.array()
和id.ToByteArray()
不是相同的。 - zhh