diff --git a/protocol/src/main/java/com/zfoo/protocol/buffer/ByteBufUtils.java b/protocol/src/main/java/com/zfoo/protocol/buffer/ByteBufUtils.java index 40b451f4..12b1c08c 100644 --- a/protocol/src/main/java/com/zfoo/protocol/buffer/ByteBufUtils.java +++ b/protocol/src/main/java/com/zfoo/protocol/buffer/ByteBufUtils.java @@ -368,15 +368,19 @@ public abstract class ByteBufUtils { } public static char readChar(ByteBuf byteBuf) { - return readString(byteBuf).charAt(0); + var value = readString(byteBuf); + if (StringUtils.isEmpty(value)) { + return Character.MIN_VALUE; + } + return value.charAt(0); } public static void writeCharBox(ByteBuf byteBuf, Character value) { - writeString(byteBuf, String.valueOf(value == null ? Character.MIN_VALUE : value)); + writeChar(byteBuf, value == null ? Character.MIN_VALUE : value); } public static Character readCharBox(ByteBuf byteBuf) { - return readString(byteBuf).charAt(0); + return readChar(byteBuf); } //-----------------------------------------------------------------------