Unpack a utf-8 string encoded as described in MQTT Version
        3.1.1 section 1.5.3 line 177.  This is a 16-bit unsigned length
        followed by a utf-8 encoded string.

        Returns
        -------
        int
            Number of bytes consumed
        bytes
            A bytes object extracted from the underlying stream.

def unpack_bytes(self):
        """Unpack a utf-8 string encoded as described in MQTT Version
        3.1.1 section 1.5.3 line 177.  This is a 16-bit unsigned length
        followed by a utf-8 encoded string.

        Returns
        -------
        int
            Number of bytes consumed
        bytes
            A bytes object extracted from the underlying stream.
        """
        num_bytes_consumed, b = decode_bytes(self.__f)
        self.__num_bytes_consumed += num_bytes_consumed
        return num_bytes_consumed, b