如何打印 5 个字符的 unicode

How do I print unicode with 5 characters

我正在尝试在 python 中制作一个 discord 机器人,并使用“\u”将 Unicode 用于表情符号,例如:

await ctx.send("\u1F389")

这应该是五彩纸屑波普尔表情符号,但我注意到它有 5 个字符,而不是通常的 4 个字符 (1F389),很明显,Python 也是,它打印 Ἰ9,我该如何解决这个问题?

非 BMP Unicode 代码点的 Python 表示法使用 \U 而不是 \u 和八个十六进制数字。

await ctx.send("\U0001F389")

\u 必须是 4 位代码。 \U 使用 8 位代码:

>>> print('\U0001F389')

你也可以使用chr:

>>> print(chr(0x1f389))

或按名称查找和使用:

>>> import unicodedata as ud
>>> ud.name(chr(0x1f389))
'PARTY POPPER'
>>> print('\N{PARTY POPPER}')