我有一个包含由String.getBytes(charsetName)
派生的字节的ByteBuffer,其中“包含”表示该字符串包含ByteBuffer的position()
和limit()
之间的整个字节序列。
让我回来的最佳方式是什么? (假设我知道编码字符集)有没有比以下更好的东西(看起来有点笨重)
byte[] ba = new byte[bbuf.remaining()];
bbuf.get(ba);
try {
String s = new String(ba, charsetName);
}
catch (UnsupportedEncodingException e) {
/* take appropriate action */
}
答案 0 :(得分:5)
String s = Charset.forName(charsetName).decode(bbuf).toString();