Jak wydrukować czerwone serce w Pythonie 3

Oct 02 2020

Muszę wydrukować emoji z czerwonym sercem ❤️️ z kodem Unicode w Pythonie 3, ale zawiera on dwa kody unikodowe (\ U00002764 i \ U0000FE0F). Jak mam to wydrukować?

Na przykład zielone serce print("\U0001F49A")

Odpowiedzi

2 tripleee Oct 02 2020 at 01:49
>>> print("\u2764\ufe0f")
❤️

To, czy to „działa”, zależy od posiadanej czcionki i obsługiwanych przez nią glifów. Oto ten sam znak w niekodowanej czcionce (dosłownie skopiuj / wklej z powyższego):

❤️

Mówiąc bardziej szczegółowo, U + 2764 jest HEAVY BLACK HEARTi zazwyczaj renderuje się jako czarne serce: ❤

U + FE0F jest VARIATION SELECTOR 16znakiem łączącym, który modyfikuje poprzedni znak, w tym przypadku zmieniając kolor serca na czerwony.

Żaden z tych punktów kodowych nie ma więcej niż cztery cyfry szesnastkowe, więc używanie długiej \U00000000postaci nie jest konieczne.

(Co jest warte, w powyższym tekście widzę czarne serce w czcionce kodu i czerwone w zwykłej czcionce tekstu podstawowego. W terminalu MacOS czerwone serce renderuje się inną czcionką, więc widzę jako czerwone serce również w Pythonie REPL).

5 AkankshaAtrey Oct 02 2020 at 01:45

Żaden z dwóch unicodes nie zadziałał dla mnie - oba wydrukowały czarne serca. Czerwone serce wymaga połączenia dwóch unikodów:

print("\u2764\uFE0F")

Wyjaśnienie, dlaczego wymaga dwóch unikodów, można znaleźć tutaj .