有没有一种方法可以将Netty的ByteBuf转换为String,反之亦然?
public String toString(ByteBuf b){
//return b enconded to a String
}
public Bytebuf ToByteBuff(String s){
//return s decoded to Bytebuf
}
ByteBuf.toString(Charset)
将其转换为字符串。String.getBytes(Charset)
和Unpooled.wrappedBuffer(byte[])
将其转换为ByteBuf。你可以使用Unpooled.copiedBuffer(String, Charset)
方法从字符串中创建一个ByteBuf
。
public void channelRead(ChannelHandlerContext ctx, Object msg) {
ByteBuf in = (ByteBuf) msg;
String clientMessage = in.toString(CharsetUtil.UTF_8);
String message = "text";
ByteBuf in = Unpooled.wrappedBuffer(message.getBytes());