有没有办法通过将它们转换为其他编码来打印出由 unicode 字符串组成的字典?

Is there any way to print out a dictionary consisted of unicode strings by converting them to other coding?

我在写一个程序,有点卡住了。我正在尝试向字典添加键和值。但我所有的变量都在 Unicode 中。如果我通过将它们编码为 utf-8 将它们转换为字符串,我会得到相同的答案。

   #! /usr/bin/env python
   # -*- coding: utf-8 -*-
   name = u'\u041d\u0435\u0433\u0440\u043e\u043d\u0438'
   surname = u'\u041b\u043e\u043d\u0434\u043e\u043d\u0441\u043a\u0438\u0439'
   info = {}
   info[name] = surname

所以如果我想打印出名字:

    print(name) --> it prints the right answer

如果我试图打印出字典信息:

    print(info) --> prints out unicode chars

P.S。输出应以俄语编写。

升级到Python 3....

>>> print(name)
Негрони
>>> print(info)
{'Негрони': 'Лондонский'}

当然取决于你的项目,但我强烈推荐它。 特别是考虑到 Sunsetting Python 2

这里有两种方法。

name = u'\u041d\u0435\u0433\u0440\u043e\u043d\u0438'
surname = u'\u041b\u043e\u043d\u0434\u043e\u043d\u0441\u043a\u0438\u0439'
info = {}
info[name] = surname

#One way
{print(info[k]) for k in info}

#Another way
print(info[name].encode("unicode-escape").decode("unicode-escape"))