Вы можете разделить шестнадцатеричные значения символов на % u , а затем найти символ Юникода, используя встроенную функцию chr
.
def convert_to_unicode(text):
return_str = ''
for character in text.split('%u'):
if character:
chr_code = int(character, 16)
return_str += chr(chr_code)
return return_str
text = '%u062a%u0633%u062a'
print(convert_to_unicode(text))
Выход:
تست
Или вы можете использовать escape-кодировку Unicode, как в другой ответ по blhsing.
def convert_to_unicode(text: str):
# Replace %.
text = text.replace('%', '\\')
# Escape unicode into character.
text = text.encode().decode('unicode-escape')
return text