Я сделал код для сжатия RLE для многострочного RLE ascii art, но декодер не работает для декодирования многострочного кода - PullRequest
1 голос
/ 26 июня 2019

Я делаю программу для многострочного сжатия и распаковки ASCII-графики, но когда я что-то кодирую, декодер не работает с несколькими строками сжатого кода и выдает что-то другое.

Я попытался ввести сжатые данные в виде строки и из файла.

def encoder(art):  
    codify = ''
    previous_character = ''
    count = 1

    if not art: return ''

    for char in art:
        if char != previous_character:
            if previous_character:
                codify += str(count) + previous_character
            count = 1
            previous_character = char
        else:
            count += 1
    else:
        codify += str(count) + previous_character
        return codify
#The function for decoding
def decoder(data):  
    decode = ''
    add = ''
    for char in art:
        if char.isdigit():
            add += char
        else:
            decode += char * int(add)
            add = ''
    return decode

Я ожидал, что он выведет изображение ASCII обратно, но он выдал 1000 строк бесполезных данных.

...