问题描述
我需要在Python 3中使用unicode打印红色心脏表情符号❤️️,但它具有两个unicode(\ U00002764和\ U0000FE0F)。我应该如何打印?
例如,一颗绿色的心是print("\U0001F49A")
解决方法
这两个unicode都不适合我-它们都印有黑心。红色的心需要结合两个unicode:
print("\u2764\uFE0F")
有关为何需要两个unicode的说明,请参见here。
,>>> print("\u2764\ufe0f")
❤️
是否“起作用”取决于您拥有的字体以及它支持的字形。这是非代码字体中的相同字符(从上面逐字复制/粘贴):
❤️
更详细地讲,U+2764是HEAVY BLACK HEART
,通常呈现为黑色心脏:❤
U+FE0F是VARIATION SELECTOR 16
,它是一个修改前一个字符的组合字符,在这种情况下,使心脏变红。
这两个代码点都不超过四个十六进制数字,因此不需要使用长\U00000000
形式。
(关于它的价值,在上面的文本中,我在代码字体中看到一个黑色的心,在常规正文文本字体中看到一个红色的心。在MacOS终端中,红色的心以不同的字体呈现,因此在那里,我也将其视为Python REPL中的一颗红心。)