Начиная со строки a
, которая, по-видимому, соответствует правилам экранирования в шестнадцатеричном формате python, вы можете декодировать ее в байтовый объект плюс длину декодированной строки.
>>> a = "\\xe8\\xaa\\x9e\\xe8\\xa8\\x80"
>>> import codecs
>>> codecs.escape_decode(a)
(b'\xe8\xaa\x9e\xe8\xa8\x80', 24)
Вам не нужно длина здесь, так что просто возьмите элемент 0. Теперь пришло время немного угадать. Предполагая, что эта строка на самом деле представляет кодировку utf-8, теперь у вас есть массив байтов, который вы можете декодировать
>>> codecs.escape_decode(a)[0].decode('utf-8')
'語言'
. Если базовая кодировка была другой (скажем, кодовая страница Windows CJK), вы пришлось бы декодировать его декодером.