如何打印 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}')
我正在尝试在 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}')