我试着在木星笔记本上随机打印Unicode字符。一般来说,我可以打印字符,但有许多我不能打印。虽然我无法跟踪其他的例子,但下面的例子是我能够复制的-
str('\u1F600') #o/p is 'ὠ0' but actually it is a Grinning Face我记得至少在另外两种情况下,输出是一些字符,后面是0。
我在Windows 8上使用Python3.9。我做错了什么?
发布于 2021-12-26 14:29:16
\u只接受4位数字,因此字符串文本被解析为两个单独的字符,\u1f60和0。
>>> print('\u1f60')
ὠ
>>> print('0')
0对于较大的代码点,您需要使用\U (这需要8位数字,包括前面的0)。
>>> print('\U0001f600')发布于 2021-12-26 14:32:25
试试这个:
print("\U0001f600")输出:
代码的问题是,当您使用\u时,python认为您使用的是4位数字,并且认为结尾处的0是字符串其余部分的一部分,所以使用带有额外十六进制数字的\U作为占位符
https://stackoverflow.com/questions/70487110
复制相似问题