python struct模块 从字节流里解析出小端格式的uint64的数据和uint32数组
时间: 2023-10-28 16:04:29 浏览: 194
python中struct模块之字节型数据的处理方法
解析小端格式的uint64可以使用struct模块的`<Q`格式,代码如下:
```python
import struct
# 示例字节流
byte_str = b'\x01\x00\x00\x00\x00\x00\x00\x00'
# 解析小端格式的uint64
num = struct.unpack('<Q', byte_str)[0]
print(num)
```
输出结果为:
```
1
```
解析小端格式的uint32数组可以使用struct模块的`<I`格式,需要根据数组长度来解析,代码如下:
```python
import struct
# 示例字节流
byte_str = b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
# 解析小端格式的uint32数组
num_array = []
for i in range(3):
byte_idx = i*4 # 每个uint32占用4个字节
num = struct.unpack('<I', byte_str[byte_idx:byte_idx+4])[0]
num_array.append(num)
print(num_array)
```
输出结果为:
```
[1, 2, 3]
```
解析过程中,每次取4个字节,使用`<I`格式解析出一个uint32整数,并将其添加到列表中。
阅读全文