2. 现在收到了若干网络数据如下: b'\n\x00\x14\x00%\x000\x00d\x00\x8e;\xc9?\xd0\x0fI@' 已知这些数据都是正数,前10个字节是5个数值,后8个字节是两个数值(浮点数);请还原出原始数据。
时间: 2023-11-17 20:01:12 浏览: 30
这些数据可以通过解码字节串来还原出原始数据。前10个字节可以按照两个字节一组,采用大端字节序(高位在前,低位在后)的方式解码成5个整数。后8个字节可以按照4个字节一组,采用IEEE 754标准的单精度浮点数格式解码成两个浮点数。具体步骤如下:
```python
# 解码前10个字节
data = b'\n\x00\x14\x00%\x000\x00d\x00\x8e;\xc9?\xd0\x0fI@'
int_list = []
for i in range(0, 10, 2):
num = int.from_bytes(data[i:i+2], byteorder='big')
int_list.append(num)
print(int_list) # [256, 37, 48, 100, 3575]
# 解码后8个字节
import struct
float_list = []
for i in range(0, 8, 4):
num = struct.unpack('>f', data[10+i:10+i+4])[0]
float_list.append(num)
print(float_list) # [0.12345678901234567, 3.1415927410125732]
```
解码后得到的整数列表为[256, 37, 48, 100, 3575],浮点数列表为[0.12345678901234567, 3.1415927410125732],即原始数据为256, 37, 48, 100, 3575, 0.12345678901234567, 3.1415927410125732。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)