LINUX.ORG.RU

s = r'\x66\x6f\x6f\x62\x61\x72'  # в таком виде получаешь?
result = bytes.fromhex(s.replace('\\x', '')).decode()
print(result)

Может есть и какая-то готовая функция (чтобы не костыльно, без replace), но так по крайней мере сработает.

Psych218 ★★★★★
()
Последнее исправление: Psych218 (всего исправлений: 2)
Ответ на: комментарий от Psych218

Она не вся такая. есть и обычные английские символы, на которых fromhex спотыкается

bvn13 ★★★★★
() автор топика
Ответ на: комментарий от bvn13
>>> r'\x0ax'.encode('latin-1').decode('unicode_escape')
'\nx'
anonymous
()

Кажись, нашел

 
REGEXP = re.compile(r'(\\\\ffffff[0-9a-f]{2})', flags=re.I)

def convert(estr):
    def split(estr):
        for i, substr in enumerate(REGEXP.split(estr)):
            if i % 2:
                yield bytes.fromhex(substr[-2:])
            elif substr:
                yield bytes(substr, 'ascii')
    return b''.join(split(estr)).decode('utf-8')

взял здесь

bvn13 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.