1

我有一个 ByteBuffer 包含由 派生的字节String.getBytes(charsetName),其中“包含”意味着字符串包含 ByteBufferposition()和之间的整个字节序列limit()

什么是我找回字符串的最佳方法?(假设我知道编码字符集)有什么比以下更好的(这看起来有点笨拙)

byte[] ba = new byte[bbuf.remaining()];
bbuf.get(ba);
try {
    String s = new String(ba, charsetName);
}
catch (UnsupportedEncodingException e) {
    /* take appropriate action */
}
4

1 回答 1

5
String s = Charset.forName(charsetName).decode(bbuf).toString();
于 2010-06-07T18:06:39.123 回答