我应该如何将包含unicode字符的字符串转换为unicode?

cdo*_*nts 2 python unicode python-2.7 python-unicode

我认为我主宰了Python 2中的所有Unicode内容,但似乎有些东西我不明白.我有来自HTML的用户输入到我的python脚本:

a = "m\xe9dico"
Run Code Online (Sandbox Code Playgroud)

我希望这是médico(这意味着医生).所以要将其转换为unicode我正在做:

a.decode("utf-8")
Run Code Online (Sandbox Code Playgroud)

要么:

unicode(a, "utf-8")
Run Code Online (Sandbox Code Playgroud)

但这是投掷:

UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 1: ordinal not in range(128) 
Run Code Online (Sandbox Code Playgroud)

怎么能实现这个?

m.w*_*ski 5

这不是utf-8:

print txt.decode('iso8859-1')
Out[14]: médico
Run Code Online (Sandbox Code Playgroud)

如果你想要utf-8字符串,请使用:

txt.decode('iso8859-1').encode('utf-8')
Out[15]: 'm\xc3\xa9dico'
Run Code Online (Sandbox Code Playgroud)