使用 python 变量键入 unicode 字符

Type unicode character using python variable

''的十六进制代码点是'0001f40d',我将这个代码点存储在变量hex_snake中。 然后我想使用 '\Uhex_snake' 来调用这个图标但是得到了一个错误。关于在引号内扩展变量有什么想法吗?

给定的字符串可以变成 int,然后可以用作 chr 的参数。

>>> x = '0001f40d'
>>> chr(int(x, base=16))
''

\U转义码只能用在字符串字面量中,且必须跟在00000000-0010FFFF之间的八个十六进制数字。但是您可以只将字符存储在变量中并使用 f-strings 打印:

>>> snake = '\U0001f40d'  # or '\N{SNAKE}' or chr(0x1f40d)
>>> print(f'snake = {snake}')
snake = 

如果字符串中有十六进制数字并且不想更改,则可以使用以下方法,但更复杂:

>>> snake = '0001f40d'
>>> print(f'snake = {chr(int(snake,16))}')
snake =