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)
怎么能实现这个?
这不是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)