java - 无法将 byteArray 转换为 String 并反转
问题描述
注意:这个问题中的问题是我上一个问题的原因。我正在生成长度为 16 的字节的 UUID。然后将其添加到 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();
}
我尝试了许多转换字符集类型,但没有一个有效。
解决方案
推荐阅读
- android - Android 如何使用数字创建分页
- tensorflow - 用于 tfjs 的预训练模型策略
- c# - LINQ 为 SQL 提供不同的结果
- android - 无法在 Windows 10 上下载 Android Studio
- go - 使用 go get 从 WSL 2 上的私有 github 存储库中获取依赖项
- mysql - 聚合后Django ORM加入自我
- mongodb - 在 mongodb 上按年分组
- jmeter - 在mac上运行jmeter的问题
- sql - 在同一列的行之间应用条件
- azure-ad-b2c - 用户旅程正文中的 Azure B2C Rest API 为空