import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufAllocator;
import java.nio.charset.StandardCharsets;
import static io.netty.buffer.ByteBufUtil.appendPrettyHexDump;
import static io.netty.util.internal.StringUtil.NEWLINE;
public class MyByteUtils {
public static void log(ByteBuf buffer) {
int length = buffer.readableBytes();
int rows = length / 16 + (length % 15 == 0 ? 0 : 1) + 4;
StringBuilder buf = new StringBuilder(rows * 80 * 2)
.append("read index:").append(buffer.readerIndex())
.append(" write index:").append(buffer.writerIndex())
.append(" capacity:").append(buffer.capacity())
.append(NEWLINE);
appendPrettyHexDump(buf, buffer);
System.out.println(buf.toString());
}
public static ByteBuf createByteBuf(String userName,String passWord) {
String format = String.format("%s\u0000%s", userName, passWord);
ByteBuf byteBuf1 = ByteBufAllocator.DEFAULT.buffer(16 + format.length());
byteBuf1.writeBoolean(true);
byteBuf1.writeInt(5);
byteBuf1.writeBytes("PLAIN".getBytes(StandardCharsets.UTF_8));
byteBuf1.writeByte(5);
byteBuf1.writeInt(format.length() + 1);
byteBuf1.writeBytes("\u0000".getBytes(StandardCharsets.UTF_8));
byteBuf1.writeBytes(format.getBytes(StandardCharsets.UTF_8));
MyByteUtils.log(byteBuf1);
return byteBuf1;
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。