可以在Python中打印帶有模式的表情符號(hào)的十六進(jìn)制代碼,例如u'\uXXX'>>> print(u'\u231B')?但是,如果我有一個(gè)十六進(jìn)制代碼列表,例如,只是“添加”字符串將不起作用: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)我的問(wèn)題的第一部分是給出十六進(jìn)制代碼,例如231A如何獲得表情符號(hào)的str類型?我的目標(biāo)是從 https://unicode.org/Public/emoji/13.0/emoji-sequences.txt 獲取表情符號(hào)列表,并閱讀第一列上的十六進(jìn)制代碼。在某些情況下,它的范圍從 ,我的問(wèn)題的第二部分被賦予了一個(gè)十六進(jìn)制代碼范圍,我如何迭代范圍以獲得表情符號(hào) str,例如,這是可以做到的,但如果六進(jìn)制中有一個(gè)字符,例如,使用是不可能的。231A..231B2648..2653range(2648, 2653+1)1F232..1F236range()
1 回答

倚天杖
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
將十六進(jìn)制字符串轉(zhuǎn)換為數(shù)字,然后使用:chr
chr(int('231B', 16))
# => '?'
或直接使用十六進(jìn)制文字:
chr(0x231B)
同樣,要使用范圍,您需要一個(gè) int,它可以從字符串轉(zhuǎn)換而來(lái),也可以使用十六進(jìn)制文本:
''.join(chr(c) for c in range(0x2648, 0x2654))
# => '????????????'
或
''.join(chr(c) for c in range(int('2648', 16), int('2654', 16)))
(注意:你會(huì)得到一些非常不同的東西!range(2648, 2654)
添加回答
舉報(bào)
0/150
提交
取消