在Python中将十六进制字符转换为int

Joh*_* N. 2 python numpy pyglet

我正在使用图形库Pyglet做一些绘图,并希望将结果图像作为Python列表(因此我可以将其转换为NumPy数组).

Pyglet给了我一串十六进制字符,如下所示:'\ xff'(表示一个像素的值为255).如何将这样的字符串转换为int?

我尝试过int('\ xff',16),但这不起作用.请注意,根据文档,'\ xnn'被转义并编码为十六进制char,但它并没有告诉我如何将其转换为int.

Sve*_*ach 10

要直接从Python字符串获取NumPy数组,您可以使用

s = "\xff\x03"
a = numpy.frombuffer(s, numpy.uint8)
Run Code Online (Sandbox Code Playgroud)

要获得列表,您可以使用

a =  map(ord, s)
Run Code Online (Sandbox Code Playgroud)

使用Python 2.6或更高版本中的列表的替代方法bytesarray(s).