得到一个二进制 blob 字符串,如:
input = "AB02CF4AFF"
Run Code Online (Sandbox Code Playgroud)
每一对“AB”、“02”、“CF”、“4A”、“FF”构成一个字节。我这样做:
data = StringIO()
for j in range(0, len(input)/2):
bit = input[j*2:j*2+2]
data.write('%c' % int(bit,16))
data.seek(0)
Run Code Online (Sandbox Code Playgroud)
工作正常,但是对于大的二进制 blob,这会变得不可接受,有时会引发 MemoryError。
struct.unpack 浮现在脑海中,但到目前为止还没有运气。
有什么办法可以加快速度吗?