无论出于什么原因,我都认为创建一个我感兴趣的表情符号表会很整洁。第一列是代码点,第二列是表情符号,第三列是名称。遵循此网页的方式,但根据我的使用量身定制。

Full emoji data

假设我想出了如何在代码点上进行迭代(对此还有其他问题,或者我构建了一个感兴趣的列表),那么我将循环遍历这些代码点,例如

u_str = u'\U0001F001'
u_str = u'\U0001F002'


(当然是通过编程生成的)

并打印(循环):

print(u'\U0001F001', u_str, ' ', unicodedata.name(u_str))
print(u'\U0001F002', u_str, ' ', unicodedata.name(u_str))


如果能够使用unicodedata和某些属性(例如unicodedata.hex_representation),那么我将只使用它,但是如果unicodedata中存在该属性,则我不了解如何查看它。

因此,在寻找答案时,我发现了以下问题:

how-does-one-print-a-unicode-character-code-in-python

我尝试:

>>> print(u_str.encode('raw_unicode_escape'))
b'\\U0001f600'


我要寻找的是我输入的内容:

u_str = u'\U0001F600'


这可能吗,或者有其他方法可以实现桌子的构造?

最佳答案

使用Python 3.6+:

>>> for i in range(0x1f001,0x1f005):
>>>     print(f'U+{i:04X} \\U{i:08X} {chr(i)}')
U+1F001 \U0001F001 🀁
U+1F002 \U0001F002 🀂
U+1F003 \U0001F003 🀃
U+1F004 \U0001F004 🀄

10-05 21:26