Дешифратор текста

Пытаюсь декодировать многострочный документ типа:

8E82809D98998898
8E82809D98998898

пример кода:

base = open('test.txt', 'r',  encoding='utf-8')
x = base.read()
A1 = {
    '8C': 'a', '8F': 'b', '8E': 'c', '89': 'd', '88': 'e',
    '8B': 'f', '8A': 'g', '85': 'h', '84': 'i', '87': 'j',
    '86': 'k', '81': 'l', '80': 'm', '8D': '~', '83': 'n', 
    '82': 'o', '9D': 'p', '9C': 'q', '9F': 'r', 'CE': '#',
    '9E': 's', '99': 't', '98': 'u', '9B': 'v', '9A': 'w',
    '95': 'x', '94': 'y', '97': 'z', 'C4': ')', 'B2': '_',
    'AC': 'A', 'AF': 'B', 'AE': 'C', 'A9': 'D', 'A8': 'E',
    'AB': 'F', 'AA': 'G', 'A5': 'H', 'A4': 'I', 'A7': 'J',
    'A6': 'K', 'A1': 'L', 'A0': 'M', 'C7': '*', 'C5': '(',
    'A3': 'N', 'A2': 'O', 'BD': 'P', 'BC': 'Q', 'BF': 'R',
    'BE': 'S', 'B9': 'T', 'B8': 'U', 'BB': 'V', 'BA': 'W',
    'B5': 'X', 'B4': 'Y', 'B7': 'Z', 'B3': '^', 'AD': '@',
    'CD': ' ', 'C3': '.', 'C1': ',', 'CC': '!', 'C9': '$',
    'C6': '+', 'C0': '-', 'C8': '%',
    }
 
workout = open('workout.txt', 'w', encoding='utf-8')
x=''.join([A1[x[i:i+2]] for i in range(0,len(x),2)])
workout.write(x)
workout.close()
base.close()

получаю ошибку:

Traceback (most recent call last):
File "C:\Users\User\Desktop\SecurityAdministrator\test2.py", line 21, in <module>
x=''.join([A1[x[i:i+2]] for i in range(0,len(x),2)])
~~^^^^^^^^^^
KeyError: '\n'

Ответы (1 шт):

Автор решения: Amgarak

Очевидно же, KeyError: '\n' - в вашем словаре отсутствует ключ для \n

Добавьте в словарь:

A1 = {
    '\n': '\n',  # Добавьте отсутствующий ключ 
}
→ Ссылка