Как из hex представления числа перевести обратно в тест по таблице ascii?

Не могу понять, как мне перевести сообщение c обратно в текстовый формат. Я понимаю что для этого необходимо использовать метод decode, но проблема в том, что я не понимаю как применить её правильно. В общем, я понятия не имею как из [208, 191, 209, 128, 208, 184, 208, 178, 208, 181, 209, 130] сделать "привет". Подскажите, как это можно сделать ? Возможно есть другой способ перевести текст в ascii код и обратно ? (Мне в любом случаи необходимо шестнадцатеричное представление символа.)

a = "привет"
b = a.encode("utf-8")
print(b)                     # b'\xd0\xbf\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82'
c = list(b)  
print(c)                     # [208, 191, 209, 128, 208, 184, 208, 178, 208, 181, 209, 130] 
v = [hex(n)[1:] for n in c]
print(v)                     # ['xd0', 'xbf', 'xd1', 'x80', 'xd0', 'xb8', 'xd0', 'xb2', 'xd0', 'xb5', 'xd1', 'x82']

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

Автор решения: CrazyElf
print(bytes(c).decode('utf-8'))

Вывод:

привет

Если из последнего варианта нужно переводить (16-ричного), то можно обратно 10-чные числа получить так:

c = [int(i[1:],16) for i in v]
→ Ссылка