如何将转义序列传递给 python 的 ord() 函数?
How to pass escape sequences to python's ord() function?
我正在使用 Python 3.
我还在我的脚本中使用了 ord() 函数。
如果我在控制台输入 ord('\xff')
它 returns 255
有没有办法插入\xff
(存储在变量中)
进入 ord()
函数而不获取
error:
TypeError: ord() expected a character, but string of length 4 found
ord('\xff')
是如何工作的? ord() 不读取字符串?那它在读什么?
您是否从某些用户输入中收到此数据?在这种情况下,您打算作为单个字符读取的内容按字面意思读取为大小为 4 的字符串。
In [1320]: v = input()
\xff
In [1321]: v
Out[1321]: '\xff'
一种解决方法是使用 ast.literal_eval
:
In [1326]: import ast
In [1327]: v = ast.literal_eval('"{}"'.format(v))
In [1329]: ord(v)
Out[1329]: 255
我正在使用 Python 3.
我还在我的脚本中使用了 ord() 函数。
如果我在控制台输入 ord('\xff')
它 returns 255
有没有办法插入\xff
(存储在变量中)
进入 ord()
函数而不获取
error:
TypeError: ord() expected a character, but string of length 4 found
ord('\xff')
是如何工作的? ord() 不读取字符串?那它在读什么?
您是否从某些用户输入中收到此数据?在这种情况下,您打算作为单个字符读取的内容按字面意思读取为大小为 4 的字符串。
In [1320]: v = input()
\xff
In [1321]: v
Out[1321]: '\xff'
一种解决方法是使用 ast.literal_eval
:
In [1326]: import ast
In [1327]: v = ast.literal_eval('"{}"'.format(v))
In [1329]: ord(v)
Out[1329]: 255