java - 如何从 ByteBuffer 转换为 Integer 和 String?

标签 java arrays string nio bytebuffer

我使用 ByteBuffer 的 putInt() 方法将 int 转换为字节数组。我该怎么做相反?那么将这些字节转换为 int?

此外,我使用字符串的 getBytes() 方法将字符串转换为字节数组。我如何将其转换为相反的方式? bytesArray.getString() 不返回可读字符串。我得到像 BF@DDAD

这样的东西

最佳答案

您可以使用 ByteBuffer.getInt 方法,指定整数出现的偏移量,将一系列字节转换为整数。或者,如果您碰巧知道字节顺序,则可以使用按位运算符从 8 位八位字节显式重建 32 位整数。

要将字节数组转换为String,可以使用String(byte[])构造函数构造一个新的String从字节数组中。例如:

byte[] bytes = /* ... get array of bytes ... */
String fromBytes = new String(bytes);

关于java - 如何从 ByteBuffer 转换为 Integer 和 String?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7395695/

相关文章:

java - 为 cron 作业配置 Java GAE Appstats

java - Spring Boot JPA - 定义一对多关系

java - 临时存储/查询数据的最佳方法?

c - 如何在C中将字符 '1'和字符 '0'转换为整数10?

java - 查找数组其余部分中大于每个当前位置的元素的数量

javascript - 如何获取数组项并在html中制作相应的span

java - 返回二维数组

c - c中的二维数组,反转存储一个句子

Python删除字符直到字母或数字

java - 如何构建一个从两个等长输入字符串中获取交替字符的字符串?