public String readString() throws IOException {
        int len = readVarInt(input);
        if (len == 0) {
            return "";
        }
        byte[] dest = len > STRING_BUFF.length ? new byte[len] : STRING_BUFF;
        readNBytes(input, dest, 0, len);
        return new String(dest, 0, len, StandardCharsets.UTF_8);
    }
Reads a string from the internal input stream.
Uses pre-allocated buffer to store tmp data.
@return
@throws IOException
client-v2/src/main/java/com/clickhouse/client/api/data_formats/internal/BinaryStreamReader.java