猿问

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

可以在Python中打印带有模式的表情符号的十六进制代码,例如u'\uXXX'


>>> print(u'\u231B')

但是,如果我有一个十六进制代码列表,例如,只是“添加”字符串将不起作用:231B


>>> print(u'\u' + ' 231B')

  File "<stdin>", line 1

SyntaxError: (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()


芜湖不芜
浏览 119回答 1
1回答

倚天杖

将十六进制字符串转换为数字,然后使用:chrchr(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)
随时随地看视频慕课网APP

相关分类

Python
我要回答