从Python String中读取字节

lhe*_*ezy 4 python string hex

我在字符串中有十六进制数据.我需要能够逐字节地解析字符串,但是通过读取文档,以字节方式获取数据的唯一方法是通过f.read(1)函数.

如何将一串十六进制字符解析为列表,或解析为数组,或者我可以逐字节访问的结构.

Mar*_*nen 7

这听起来像你真正想要的(Python 2.x)是:

from binascii import unhexlify
mystring = "a1234f"
print map(ord,unhexlify(mystring))
Run Code Online (Sandbox Code Playgroud)

[161,35,79]

这会将每对十六进制字符转换为整数表示形式.

在Python 3.x中,您可以:

>>> list(unhexlify(mystring))
[161, 35, 79]
Run Code Online (Sandbox Code Playgroud)

但由于结果unhexlify是字节字符串,您还可以只访问元素:

>>> L = unhexlify(string)
>>> L
b'\xa1#O'
>>> L[0]
161
>>> L[1]
35
Run Code Online (Sandbox Code Playgroud)