<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def download_as_string(self, client=None, start=None, end=None):
 """Download the contents of this blob as a string. If :attr:`user_project` is set on the bucket, bills the API request to that project. :type client: :class:`~google.cloud.storage.client.Client` or ``NoneType`` :param client: Optional. The client to use. If not passed, falls back to the ``client`` stored on the blob's bucket. :type start: int :param start: Optional, the first byte in a range to be downloaded. :type end: int :param end: Optional, The last byte in a range to be downloaded. :rtype: bytes :returns: The data stored in this blob. :raises: :class:`google.cloud.exceptions.NotFound` """

        string_buffer = BytesIO()
        self.download_to_file(string_buffer, client=client, start=start, end=end)
        return string_buffer.getvalue()