【问题标题】:Getting string from netty ByteBuf从 netty ByteBuf 获取字符串
【发布时间】:2016-11-05 00:22:32
【问题描述】:
如何从网络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);
}
【问题讨论】:
标签:
java
netty
bytebuffer
【解决方案3】:
使用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对象