def readString(self, bytes=False):
        """
        Reads a C{string} from the stream. If bytes is C{True} then you will get
        the raw data read from the stream, otherwise a string that has been
        B{utf-8} decoded.
        """
        l = self.stream.read_ushort()
        b = self.stream.read(l)

        if bytes:
            return b

        return self.context.getStringForBytes(b)