code: public void fromBytes(byte[] data) throws IOException {
  
          int index = 0;
          LengthCodedStringReader reader = new LengthCodedStringReader(null, index);
          // 1.
          catalog = reader.readLengthCodedString(data);
          // 2.
          db = reader.readLengthCodedString(data);
          this.table = reader.readLengthCodedString(data);
          this.originalTable = reader.readLengthCodedString(data);
          this.name = reader.readLengthCodedString(data);
          this.originalName = reader.readLengthCodedString(data);
          index = reader.getIndex();
          //
          index++;
          //
          this.character = ByteHelper.readUnsignedShortLittleEndian(data, index);
          index += 2;
          //
          this.length = ByteHelper.readUnsignedIntLittleEndian(data, index);
          index += 4;
          //
          this.type = data[index];
          index++;
          //
          this.flags = ByteHelper.readUnsignedShortLittleEndian(data, index);
          index += 2;
          //
          this.decimals = data[index];
          index++;
          //
          index += 2;// skip filter
          //
          if (index < data.length) {
              reader.setIndex(index);
              this.definition = reader.readLengthCodedString(data);
          }
      }
docs: <pre>
  VERSION 4.1
  Bytes                      Name
  -----                      ----
  n (Length Coded String)    catalog
  n (Length Coded String)    db
  n (Length Coded String)    table
  n (Length Coded String)    org_table
  n (Length Coded String)    name
  n (Length Coded String)    org_name
  1                          (filler)
  2                          charsetnr
  4                          length
  1                          type
  2                          flags
  1                          decimals
  2                          (filler), always 0x00
  n (Length Coded Binary)    default
  
  </pre>