# -*- coding: utf-8 -*-
a='Привет'
print a
b=[]
b.append(a)
print b
这是代码,它必须打印Привет
['Привет']
但是当我运行这段代码时,它打印出 Привет
['\xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82']
不幸的是,它没有打印出我需要的东西。任何建议如何去做?
请您参考如下方法:
您看到的行为是正常的。您有一个 UTF-8 编码的字节字符串,在打印列表时,Python 将始终以最便携的形式显示 Python 字符串文字等字符串。
你真的想使用 Unicode 值,并打印列表中的单个项目:
# -*- coding: utf-8 -*-
a = u'Привет' # Unicode literal
print a
b = []
b.append(a)
print b[0] # print individual item
如果您还不知道 Unicode 和字节串之间的区别或任何关于编解码器的信息,我建议您阅读:
Pragmatic Unicode作者:内德·巴切尔德
在你继续之前。
