在 Python curses 中显示扩展的 Unicode 字符
Displaying extended Unicode characters in Python curses
我正在使用 curses 库编写游戏。我试图显示一些非标准的 Unicode 字符,但遇到了问题。
假设我想显示一个 Unicode 树字符。快速 google 呈现如下内容:
“” (U+1F332)
然而,当我尝试在我的 Python 终端、CMD 或使用 curses a curses window 显示它时,我得到的是:
In: u'\u1F332'
Out: 'ἳ2'
是不是我使用的字体不支持这个字符?有没有办法向 curses 库添加额外的 Unicode 字符?
转义序列\u
将以下四个字符(在您的情况下为1F33
)解释为16位十六进制表达式,这不是您想要的。由于您的代码点不适合 16 位,因此您需要转义序列 \U
并提供 32 位(八个字符长)的十六进制表达式。
In [1]: '\U0001F332'
Out[1]: ''
(我从你的输出中猜测你正在使用 python 3.)
您的终端编码和字体可能也有问题,但您当前的代码甚至无法做到这一点。
我正在使用 curses 库编写游戏。我试图显示一些非标准的 Unicode 字符,但遇到了问题。
假设我想显示一个 Unicode 树字符。快速 google 呈现如下内容:
“” (U+1F332)
然而,当我尝试在我的 Python 终端、CMD 或使用 curses a curses window 显示它时,我得到的是:
In: u'\u1F332'
Out: 'ἳ2'
是不是我使用的字体不支持这个字符?有没有办法向 curses 库添加额外的 Unicode 字符?
转义序列\u
将以下四个字符(在您的情况下为1F33
)解释为16位十六进制表达式,这不是您想要的。由于您的代码点不适合 16 位,因此您需要转义序列 \U
并提供 32 位(八个字符长)的十六进制表达式。
In [1]: '\U0001F332'
Out[1]: ''
(我从你的输出中猜测你正在使用 python 3.)
您的终端编码和字体可能也有问题,但您当前的代码甚至无法做到这一点。