Как дешифровать введённую последовательность байтов?
Предположим, что у нас есть строка, представляющая из себя последовательность байтов: '\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')
'ǴǮȖ'