'Read a \'Length Coded String\' from the data buffer.
A \'Length Coded String\' consists first of a length coded
(unsigned, positive) integer represented in 1-9 bytes followed by
that many bytes of binary data.  (For example "cat" would be "3cat".)'

def read_length_coded_string(self):

    length = self.read_length_encoded_integer()
    if (length is None):
        return None
    return self.read(length)
