Unicode 到 Python 中的字符串 2

Unicode to string in Python 2

如果我定义变量

x = 'Ááa Éée'

然后

的输出
print x

Ááa Éée

但是我有一个 unicode 对象

x = u'Ááa Éée'

我需要与以前相同的输出。为此,我尝试将其转换为 str

str(u'Ááa Éée')

但是没用。

我该怎么做? (我只感兴趣退出。)

实际上,print u"Ááa Éée" 应该为您提供与 print "Ááa Éée" 完全相同的输出。也许您对在终端上打印每个表示感到困惑。无论如何,如果您要问的是如何将 unicode 转换为 str,请使用 x.encode('utf-8').

str(u'Ááa Éée') 不起作用,因为此转换 unicode -> str 默认使用编码 ASCII,而 ASCII 中不存在字符 ÁáÉé。

您需要这个:u'Ááa Éée'.encode("UTF-8") - 如果您的终端使用 UTF-8。

关于 unicode 的事情可能很复杂,最好阅读一下:

x = u'Ááa Éée' 是 unicode 字符串

所以,你只能用unicode()代替str()

使用 unicode 字符串

您需要指定编码

string = x.encode('utf-8') #utf-16 or ...

print string.decode('utf-8')