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')
如果我定义变量
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')