Quick'n'dirty ответ
your_string.decode('string_escape')
>>> a='\\xF3\\xBE\\x80\\x80'
>>> a.decode('string_escape')
'\xf3\xbe\x80\x80'
>>> len(_)
4
Информация о бонусе
>>> u='\uDBB8\uDC03'
>>> u.decode('unicode_escape')
Некоторые мелочи
Что интересно, у меня есть Python 2.6.4 на KarmicKoala Ubuntu (sys.maxunicode==1114111
) и Python 2.6.5 для Gentoo (sys.maxunicode==65535
);в Ubuntu результат unicode_escape-decode равен \uDBB8\uDC03
, а в Gentoo - u'\U000fe003'
, оба значения правильной длины 2. Если это не зафиксировано между 2.6.4 и 2.6.5, я впечатлен 2-байтовымUnicode-символьная версия Gentoo сообщает о правильном символе.