Попробуйте html.unescape()
или HTMLParser#unescape
, в зависимости от того, какую версию Python вы используете: https://stackoverflow.com/a/2087433/2675670
Поскольку это смесь шестнадцатеричных значений и обычных символов, я думаю, что нам нужно придуматьс пользовательским решением:
word = "%69%6efo"
while word.find("%") >= 0:
index = word.find("%")
ascii_value = word[index+1:index+3]
hex_value = int(ascii_value, 16)
letter = chr(hex_value)
word = word.replace(word[index:index+3], letter)
print(word)
Возможно, есть более обтекаемый «Pythonic» способ сделать это, но он работает для тестового ввода.