Как конфертировать из ByteBuffer в Integer и String? - PullRequest
2 голосов
/ 13 сентября 2011

Я преобразовал int в байтовый массив, используя метод putInt() ByteBuffer's.Как мне поступить наоборот?Так что конвертировать эти байты в int?

Кроме того, я преобразовал строку в массив байтов, используя метод getBytes() строки.Как я могу преобразовать это наоборот?bytesArray.getString() не возвращает читаемую строку.Я получаю такие вещи, как BF@DDAD

1 Ответ

2 голосов
/ 13 сентября 2011

Вы можете использовать метод ByteBuffer.getInt, определяющий смещение, при котором происходит целое число, чтобы преобразовать серию байтов в целое число. В качестве альтернативы, если вы знаете порядок байтов, вы можете использовать побитовые операторы для явного восстановления 32-разрядного целого числа из его 8-разрядных октетов.

Чтобы преобразовать массив байтов в String, вы можете использовать конструктор String(byte[]) для создания нового String из байтового массива. Например:

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