在Python curses中显示扩展的Unicode字符

时间:2018-10-28 17:44:14

标签: python unicode curses

我正在使用curses库编写游戏。我试图显示一些非标准的Unicode字符,在那儿我遇到了问题。

假设我要显示Unicode树字符。快速谷歌呈现这样的事情:

“”(U + 1F332)

但是,当我尝试在Python终端,CMD或使用curses的curses窗口中显示它时,我得到的只是:

In: u'\u1F332'
Out: 'ἳ2' 

是因为我使用的字体不支持该特定字符吗?有没有办法向curses库添加其他Unicode字符?

1 个答案:

答案 0 :(得分:2)

转义序列\u将以下四个字符(在您的情况下为1F33)解释为16位十六进制表达式,这不是您想要的。由于您的代码点不适合16位,因此需要转义序列\U并提供32位(长8个字符)十六进制表达式。

In [1]: '\U0001F332'                                                            
Out[1]: ''

(我从您的输出中猜测您正在使用python 3。)

您的终端编码和字体也可能有问题,但是您当前的代码甚至无法解决这一问题。