python把16进制的字符串列表转化为16进制列表
时间: 2023-05-04 17:04:48 浏览: 64
Python有一个非常方便的函数能够把16进制的字符串列表转换成16进制列表,这个函数是"binascii.unhexlify()"。使用这个函数,我们只需要把每个字符串转换成对应的16进制数,然后存到一个列表里面即可。
以下是具体的步骤:
1. 定义一个列表来存放16进制的字符串,假设名字叫hex_str_list。
2. 导入binascii模块,这个模块提供了用于转换二进制数据的函数。
3. 遍历hex_str_list,使用binascii.unhexlify()函数将每个16进制字符串转换为16进制值,并添加到一个新的列表中,假设名字叫hex_list。
4. 最后,我们就得到了一个包含所有16进制值的列表hex_list。
具体的实现代码如下所示:
import binascii
hex_str_list = ["F1", "A2", "3C", "8D", "2E", "C5"]
hex_list = []
for hex_str in hex_str_list:
hex_value = binascii.unhexlify(hex_str)
hex_list.append(hex_value)
print(hex_list)
执行以上代码,输出结果即为:
[b'\xf1', b'\xa2', b'<', b'\x8d', b'.', b'\xc5']
这样,我们就成功地将16进制的字符串列表转换成了16进制列表。
相关问题
Python把16进制字符串转为int数组
在Python中,将16进制字符串转换为int数组可以使用列表推导式。具体实现可以使用以下代码:
```python
hex_str = "0x1 0x2 0x3 0x4 0x5" # 16进制字符串
int_array = [int(x, 16) for x in hex_str.split()] # 将16进制字符串转换为int数组
print(int_array) # 输出转换后的int数组
```
上面的代码将16进制字符串`0x1 0x2 0x3 0x4 0x5`转换为int数组。具体实现中,先使用`split()`方法将16进制字符串分割为多个16进制数字符串,然后使用列表推导式将每个16进制数字符串转换为int类型,并保存到int数组中。
需要注意的是,这里使用的是`int()`函数将16进制数字符串转换为int类型,第二个参数指定了16进制数的基数为16。另外,如果16进制字符串中含有非法字符,例如空格、字母等,会抛出`ValueError`异常。
python 列表中的16进制字符串转化为十进制
你可以使用内置函数 `int()` 来将十六进制字符串转换为十进制数。首先,需要使用 `hex()` 函数将字符串转换为十六进制表示形式,然后再使用 `int()` 函数将其转换为十进制数。下面是一个示例:
```python
hex_string = '0x1A'
decimal_number = int(hex_string, 16)
print(decimal_number)
```
这将输出 `26`,表示十六进制字符串 `'0x1A'` 转换为十进制数 `26`。请注意,十六进制字符串应该以 `'0x'` 开头。如果你的字符串没有 `'0x'` 开头,可以在转换之前手动添加它。