Как декодировать строку "Dsadd\\xc3\\xa1" в 'utf_8'?
если создать строку без экранирования(\) символа "\" то вроде получается желаемый результат
v = "Dsadd\xc3\xa1
print(v) # DsaddÃ
по этому я подумал просто удалить из строки эти штрихи "\" c помощью регулярных выражения
re.sub(r'',"", v , flags=re.MULTILINE)# Dsadd\xc3\xa1
казалось бы теперь можно перевести все в bytes и прогнать через v.decode('utf_8'), но v.encoding('utf_8') и bytes(v) переводит просто экранируя "\"
b'Dsadd\\xc3\\xa1'
хотелось бы получить что то вроде
v = "Dsadd\\xc3\\xa1" # str
v.decode('utf_8') # DsaddÃ
Ответы (1 шт):
Автор решения: camomile
→ Ссылка
v = v.encode().decode('unicode-escape')
v.encode('latin1').decode('utf-8')
Все дело в latin1 который не экранируюет "\" :D