在 Numpy 中,我需要将一些二进制数据解压缩到一个变量中。过去,我一直在使用 Numpy 中的“fromstring”函数对其进行解包并提取第一个元素。有没有办法可以直接将二进制数据解压缩为 Numpy 类型,并避免创建我几乎忽略的 Numpy 数组的开销?
这就是我目前所做的:
>>> int_type
dtype('uint32')
>>> bin_data = '\x1a\x2b\x3c\x4d'
>>> value = numpy.fromstring(bin_data, dtype = int_type)[0]
>>> print type(value), value
<type 'numpy.uint32'> 1295788826
我想做这样的事情:
>>> value = int_type.fromstring(bin_data)
>>> print type(value), value
<type 'numpy.uint32'> 1295788826