Netty ByteBuf
から文字列を取得するにはどうすればよいですか?今のところ、私はそれを文字ごとに取得することができます。文字列オブジェクトを直接取得する方法はありますか?
// message is of type ByteBuf
for (int i = 0; i < message.capacity(); i++) {
byte b = message.payload().getByte(i);
System.out.print((char) b);
}
提供されているメソッドを使用します ByteBuf.toString(Charset) 。
ByteBuf.readCharSequence()
を使用する
例はここにあります:
_// here we use utf-8 decoding, you can choose the charset you want
String s = ByteBuf.readCharSequence(length, Charset.forName("utf-8")).toString()
_
ByteBuf.readCharSequence()
は_Java.lang.CharSequence
_を返すことに注意してください。toString()
を使用してString
obejctを取得してください
そこから、new String(byte[])
またはいくつかのBase64ソリューションを使用できます(私が想定しているバイナリデータであるため)