Returns an Unicode String
        This is the actual string. Beware that some strings might be not
        decodeable with usual UTF-16 decoder, as they use surrogates that are
        not supported by python.

def get_unicode(self):
        """
        Returns an Unicode String
        This is the actual string. Beware that some strings might be not
        decodeable with usual UTF-16 decoder, as they use surrogates that are
        not supported by python.
        """
        s = mutf8.decode(self.data)
        if len(s) != self.utf16_size:
            raise ValueError("UTF16 Length does not match!")

        # Return a UTF16 String
        return s