为什么相同的命令在 python 2 中打印表情符号但在 python 3 中失败?

Why the same command prints an emoji in python 2 but fails in python 3?

在 python 2.7:

print('\xF0\x9F\x98\x9E')

打印一个悲伤的表情符号。相同的命令在 python 3.5 中失败(打印一些方块)。为什么以及如何解决?

使用表情包也不行:

import emoji

print(emoji.emojize('Python is :thumbs_up_sign:'))

print(emoji.emojize('Python is :cookie:'))

也打印正方形。我试着按照这里的建议 (感谢@lenz)但是如果我输入:

print(u"F61E") 要么 print(u"\u1F61E")

我还是没收到我的表情包

解决方法是:

print(u'\U0001f61e')

显然需要大写U来表明这是一个要打印的表情符号,由8个字符长的字符串标识。