无法将byteArray转换为String并反转

时间:2018-05-25 10:13:44

标签: java arrays string uuid

注意:此问题中的问题是我previous问题的原因。 我将UUID生成为长度为16的字节。然后将其添加到JsonArray中。当我从JsonArray获取第一个和唯一的元素.getString(0)并将其转换回字节时,结果字节的长度为24.

byte[] uuid = UUIDToolBox.fromUUIDToBytes(UUID.randomUUID());
System.out.println("uuid byteArray = " + Arrays.toString(uuid) + ", length:" + uuid.length );


JsonArray j = new JsonArray().add(uuid);
byte[] n = j.getString(0).getBytes(Charset.forName("UTF-8"));

System.out.println("from String = " + Arrays.toString(n) + ", length:" + n.length);


public static byte[] fromUUIDToBytes(UUID uuid) {
    ByteBuffer bb = ByteBuffer.wrap(new byte[16]);
    bb.putLong(uuid.getMostSignificantBits());
    bb.putLong(uuid.getLeastSignificantBits());
    return bb.array();
}

我尝试了很多转换字符集类型,但都没有。

0 个答案:

没有答案