使用python变量输入unicode字符



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

U转义码只能在字符串字面值中使用,并且必须后跟0000000- 0010ffff之间的8个十六进制数字。但是你可以直接将字符存储在变量中,然后用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 = 🐍

给定的字符串可以转换为int,然后可以用作chr的参数。

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

最新更新