によって派生したバイトを含む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 */
}