Использование ast.literal_eval
:
>>> message = '\u96e8'
>>> ast.literal_eval('u"{}"'.format(message))
u'\u96e8'
Хитрость заключается в создании строки, содержащей строковый литерал unicode
для передачи в качестве аргумента literal_eval
.То есть u"\u96e8"
, а не просто \u96e8
.
(хотя это только отчасти правильно. Оно потерпит неудачу, если само значение message
содержит двойные кавычки. Возможно, есть и другие случаигде это также не удается.)