@classmethod
def parse(cls, reader):
    """returns an ApeTagItem parsed from the given BitstreamReader"""
    item_value_length, read_only, encoding = reader.parse(cls.FORMAT)
    key = []
    c = reader.read_bytes(1)
    while c != b'\x00':
        key.append(c)
        c = reader.read_bytes(1)
    value = reader.read_bytes(item_value_length)
    return cls(encoding, read_only, b''.join(key), value)
