code: public String readString(int length) {
          log.debug("readString - length: {}", length);
          int limit = buf.limit();
          final ByteBuffer strBuf = buf.buf();
          strBuf.limit(strBuf.position() + length);
          final String string = AMF.CHARSET.decode(strBuf).toString();
          log.debug("String: {}", string);
          buf.limit(limit);
          // check for null termination
          byte b = buf.get();
          if (b != 0) {
              buf.position(buf.position() - 1);
          }
          return string;
      }
docs: Reads a string of a set length. This does not use the string reference table.
  
  @param length the length of the string
  @return String