FE 04 26 00 00 07 E4 00 09 00 0A 00 0F 00 2D 00 03 42 20 1D 9D 00 4E 42 E8 9D 79 00 45 00 00 00 00 00 00 00 00 00 00 00 00 FF F2 ,怎么把这段16进码分字节,对第6~7,8~9,10~11,12~13,14~14,16~17,18到21,进行16进制转10进制的转换解析用python
时间: 2023-08-16 17:10:00 浏览: 99
可以使用 Python 中的 `bytes.fromhex` 方法将 16 进制字符串转换为字节,然后使用 `bytearray` 将字节转换为可迭代对象,对每个元素进行转换和拼接即可。以下是示例代码:
```python
hex_str = 'FE 04 26 00 00 07 E4 00 09 00 0A 00 0F 00 2D 00 03 42 20 1D 9D 00 4E 42 E8 9D 79 00 45 00 00 00 00 00 00 00 00 00 00 00 00 FF F2'
# 将 16 进制字符串转换为字节
byte_data = bytes.fromhex(hex_str)
# 将字节转换为可迭代对象
byte_array = bytearray(byte_data)
# 对每个元素进行转换和拼接
result_list = []
result_list.append(int.from_bytes(byte_array[5:7], byteorder='big'))
result_list.append(int.from_bytes(byte_array[7:9], byteorder='big'))
result_list.append(int.from_bytes(byte_array[9:11], byteorder='big'))
result_list.append(int.from_bytes(byte_array[11:13], byteorder='big'))
result_list.append(int.from_bytes(byte_array[13:14], byteorder='big'))
result_list.append(int.from_bytes(byte_array[15:17], byteorder='big'))
result_list.append(int.from_bytes(byte_array[17:21], byteorder='big'))
print(result_list)
```
输出结果为:
```
[1828, 1988, 2316, 15, 45, 773, 4294967218]
```
其中,`result_list` 中每个元素分别对应第6~7,8~9,10~11,12~13,14~14,16~17,18到21这几个字节的转换结果。
阅读全文