如何从ByteBuffer转换为整数和字符串?

3

我使用ByteBuffer的putInt()方法将一个int转换为字节数组。如何做相反的操作?即将这些字节转换为一个整数?

此外,我使用String的getBytes()方法将一个字符串转换为字节数组。如何将其反向转换?bytesArray.getString()并不能返回可读的字符串。我得到像BF@DDAD这样的东西。

1个回答

3
您可以使用 ByteBuffer.getInt 方法,指定整数出现的偏移量,将一系列字节转换为整数。 或者,如果您知道字节顺序,可以使用位运算符从其8位八进制显式重构32位整数。
要将字节数组转换为 String ,可以使用 String(byte [])构造函数从字节数组构造新的 String 。 例如:
byte[] bytes = /* ... get array of bytes ... */
String fromBytes = new String(bytes);

2
只是提醒一下,在使用原始字节创建字符串时,最好指定要使用的编码方式。 - Hugh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接