Как дешифровать введённую последовательность байтов?

Предположим, что у нас есть строка, представляющая из себя последовательность байтов: '\xc7\xb4\xc7\xae\xc8\x96'. Ее вводят с помощью обычного input()-а. Как дешифровать эти строчные байты?

Я понимаю, что если использовать b'\xc7\xb4\xc7\xae\xc8\x96'.decode('utf-8') то проблема решается очень просто, но что делать со строкой, а не с готовыми байтами?


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

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

Сконвертируйте в bytes, убрав \x:

>>> bytes.fromhex(a.replace('\\x', '')).decode('utf-8')
ǴǮȖ
→ Ссылка
Автор решения: Кирилл Малышев
>>> import ast
>>> a = input()
b'\xc7\xb4\xc7\xae\xc8\x96'
>>> a
"b'\\xc7\\xb4\\xc7\\xae\\xc8\\x96'"
>>> b = ast.literal_eval(a)
>>> b
b'\xc7\xb4\xc7\xae\xc8\x96'
>>> b.decode('utf-8')
'ǴǮȖ'
→ Ссылка