我正在使用curses库编写游戏。我试图显示一些非标准的Unicode字符,在那儿我遇到了问题。
假设我要显示Unicode树字符。快速谷歌呈现这样的事情:
“”(U + 1F332)
但是,当我尝试在Python终端,CMD或使用curses的curses窗口中显示它时,我得到的只是:
In: u'\u1F332'
Out: 'ἳ2'
是因为我使用的字体不支持该特定字符吗?有没有办法向curses库添加其他Unicode字符?
答案 0 :(得分:2)
转义序列\u
将以下四个字符(在您的情况下为1F33
)解释为16位十六进制表达式,这不是您想要的。由于您的代码点不适合16位,因此需要转义序列\U
并提供32位(长8个字符)十六进制表达式。
In [1]: '\U0001F332'
Out[1]: ''
(我从您的输出中猜测您正在使用python 3。)
您的终端编码和字体也可能有问题,但是您当前的代码甚至无法解决这一问题。