如何在python 3中打印红色的心

问题描述

我需要在Python 3中使用unicode打印红色心脏表情符号❤️️,但它具有两个unicode(\ U00002764和\ U0​​000FE0F)。我应该如何打印?

例如,一颗绿色的心是print("\U0001F49A")

解决方法

这两个unicode都不适合我-它们都印有黑心。红色的心需要结合两个unicode:

print("\u2764\uFE0F")

有关为何需要两个unicode的说明,请参见here

,
>>> print("\u2764\ufe0f")
❤️

是否“起作用”取决于您拥有的字体以及它支持的字形。这是非代码字体中的相同字符(从上面逐字复制/粘贴):

❤️

更详细地讲,U+2764HEAVY BLACK HEART,通常呈现为黑色心脏:❤

U+FE0FVARIATION SELECTOR 16,它是一个修改前一个字符的组合字符,在这种情况下,使心脏变红。

这两个代码点都不超过四个十六进制数字,因此不需要使用长\U00000000形式。

(关于它的价值,在上面的文本中,我在代码字体中看到一个黑色的心,在常规正文文本字体中看到一个红色的心。在MacOS终端中,红色的心以不同的字体呈现,因此在那里,我也将其视为Python REPL中的一颗红心。)

Screen shot showing how the character renders,MacOS Catalina