code: public ByteArray rdbGenericLoadStringObject(int flags) throws IOException {
          boolean plain = (flags & RDB_LOAD_PLAIN) != 0;
          boolean encode = (flags & RDB_LOAD_ENC) != 0;
          Len lenObj = rdbLoadLen();
          long len = (int) lenObj.len;
          boolean isencoded = lenObj.encoded;
          if (isencoded) {
              switch ((int) len) {
                  case RDB_ENC_INT8:
                  case RDB_ENC_INT16:
                  case RDB_ENC_INT32:
                      return rdbLoadIntegerObject((int) len, flags);
                  case RDB_ENC_LZF:
                      return rdbLoadLzfStringObject(flags);
                  default:
                      throw new AssertionError("unknown RdbParser encoding type:" + len);
              }
          }
          if (plain) {
              return in.readBytes(len);
          } else if (encode) {
              // createStringObject(NULL,len)
              return in.readBytes(len);
          } else {
              // createRawStringObject(NULL,len);
              return in.readBytes(len);
          }
      }
docs: 1.|11xxxxxx|xxxxxxxx| remaining 6bit is 0, then an 8 bit integer follows
  <p>
  2.|11xxxxxx|xxxxxxxx|xxxxxxxx| remaining 6bit is 1, then an 16 bit integer follows
  <p>
  3.|11xxxxxx|xxxxxxxx|xxxxxxxx|xxxxxxxx|xxxxxxxx| remaining 6bit is 2, then an 32 bit integer follows
  <p>
  4.|11xxxxxx| remaining 6bit is 3,then lzf compressed string follows
  <p>
  
  @param flags RDB_LOAD_ENC: encoded string.RDB_LOAD_PLAIN | RDB_LOAD_NONE:raw bytes
  @return ByteArray rdb byte array object
  @throws IOException when read timeout
  @see #rdbLoadIntegerObject
  @see #rdbLoadLzfStringObject