为了账号安全,请及时绑定邮箱和手机立即绑定

将所有 Unicode 表情符号打印到文件

将所有 Unicode 表情符号打印到文件

芜湖不芜 2022-08-25 14:45:45
可以在Python中打印带有模式的表情符号的十六进制代码,例如u'\uXXX'>>> print(u'\u231B')⌛但是,如果我有一个十六进制代码列表,例如,只是“添加”字符串将不起作用:231B>>> print(u'\u' + ' 231B')  File "<stdin>", line 1SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: truncated \uXXXX escape失败也:chr()>>> chr('231B')Traceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: an integer is required (got type str)我的问题的第一部分是给出十六进制代码,例如231A如何获得表情符号的str类型?我的目标是从 https://unicode.org/Public/emoji/13.0/emoji-sequences.txt 获取表情符号列表,并阅读第一列上的十六进制代码。在某些情况下,它的范围从 ,我的问题的第二部分被赋予了一个十六进制代码范围,我如何迭代范围以获得表情符号 str,例如,这是可以做到的,但如果六进制中有一个字符,例如,使用是不可能的。231A..231B2648..2653range(2648, 2653+1)1F232..1F236range()
查看完整描述

1 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

将十六进制字符串转换为数字,然后使用:chr


chr(int('231B', 16))

# => '⌛'

或直接使用十六进制文字:


chr(0x231B)

同样,要使用范围,您需要一个 int,它可以从字符串转换而来,也可以使用十六进制文本:


''.join(chr(c) for c in range(0x2648, 0x2654))

# => '♈♉♊♋♌♍♎♏♐♑♒♓'


''.join(chr(c) for c in range(int('2648', 16), int('2654', 16)))

(注意:你会得到一些非常不同的东西!range(2648, 2654)


查看完整回答
反对 回复 2022-08-25
  • 1 回答
  • 0 关注
  • 118 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信