Python将latin1转换为UTF8

Eug*_*ene 11 python encoding utf-8 latin1 python-2.7

在Python 2.7中,如何将latin1字符串转换为UTF-8.

例如,我正在尝试将é转换为utf-8.

>>> "é"
'\xe9'
>>> u"é"
u'\xe9'
>>> u"é".encode('utf-8')
'\xc3\xa9'
>>> print u"é".encode('utf-8')
é
Run Code Online (Sandbox Code Playgroud)

字母是é,它是LATIN SMALL LETTER E WITH ACUTE(U + 00E9)UTF-8字节编码为:c3a9
拉丁字节编码为:e9

如何获得拉丁字符串的UTF-8编码版本?有人可以举例说明如何转换é?

Mar*_*ers 9

要将字节序列从拉丁语1解码为Unicode,请使用以下.decode()方法:

>>> '\xe9'.decode('latin1')
u'\xe9'
Run Code Online (Sandbox Code Playgroud)

Python \xab在下面的unicode代码点中使用转义\u00ff.

>>> '\xe9'.decode('latin1') == u'\u00e9'
True
Run Code Online (Sandbox Code Playgroud)

上述Latin-1字符可以编码为UTF-8,如下所示:

>>> '\xe9'.decode('latin1').encode('utf8')
'\xc3\xa9'
Run Code Online (Sandbox Code Playgroud)