Python将数组中的unicode字符串打印为字符,而不是代码点

Chr*_*est 32 python unicode

如果我有一个表格的字典:

a = {u"foo": u"???"}

我写

>>> print a[u"foo"]

我明白了

???

正如所料.但如果我写

>>> print a

我明白了

{u'foo': u'\u10d1\u10d0\u10e0'},但我更喜欢打印字符本身.

无论如何,所有数据最终都会被转储到数据库中,所以解决这个问题并不重要,但是对于调试来说,如果我在打印整个字典时能够获得可读输出,那将会很好.有没有办法做到这一点?

对于那些好奇的人,剧本是格鲁吉亚语,是的,它说的是"酒吧".

Tho*_*s K 74

这适用于我的终端:

print repr(a).decode("unicode-escape")
Run Code Online (Sandbox Code Playgroud)

  • @ ademar111190:看起来它正在尝试使用UTF-8,但是你的终端正在以单字节编码显示它,比如cp1252.尝试`print repr(a).decode('unicode-escape').encode('latin-1')`. (2认同)