У меня есть ByteBuffer, содержащий байты, которые были получены с помощью String.getBytes(charsetName)
, где «содержащий» означает, что строка содержит всю последовательность байтов между position()
и limit()
ByteBuffer.
Какой лучший способ вернуть мне строку? (при условии, что я знаю кодировку кодировки) Есть ли что-нибудь лучше, чем следующее (что кажется немного неуклюжим)
byte[] ba = new byte[bbuf.remaining()];
bbuf.get(ba);
try {
String s = new String(ba, charsetName);
}
catch (UnsupportedEncodingException e) {
/* take appropriate action */
}