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 に答える