字符串转16进制数组 python
时间: 2023-10-14 08:30:22 浏览: 121
可以使用 Python 的 `binascii` 模块中的 `hexlify()` 函数将字符串转换为十六进制,然后再将十六进制字符串转换为十六进制数组。
示例代码:
```python
import binascii
# 将字符串转换为十六进制字符串
hex_string = binascii.hexlify("Hello, world!".encode()).decode()
# 将十六进制字符串转换为十六进制数组
hex_array = bytearray.fromhex(hex_string)
print(hex_array)
```
输出结果:
```
bytearray(b'48656c6c6f2c20776f726c6421')
```
其中,`hexlify()` 函数将字符串编码为字节对象,然后将字节对象转换为十六进制表示的字符串。`decode()` 方法将字节对象解码为字符串。
最后,`bytearray.fromhex()` 方法将十六进制字符串转换为十六进制数组。
相关问题
16进制数组转2进制数组的代码
以下是将16进制数组转换为2进制数组的Python代码:
```python
hex_array = ['0x3', '0xA', '0xF', '0xC']
binary_array = []
for hex_value in hex_array:
binary_value = bin(int(hex_value, 16))[2:].zfill(8) # 将16进制字符串转换为二进制字符串并填充前导0
binary_array.append(binary_value)
print(binary_array) # 输出['00000011', '00001010', '00001111', '00001100']
```
在上面的代码中,我们使用了Python内置的`bin()`函数将每个16进制字符串转换为二进制字符串,并使用`zfill()`函数在前面填充0以确保每个二进制字符串长度为8位。最后,我们将每个二进制字符串添加到新的2进制数组中。
python 字符串转换16进制添加到16进制数组
要将一个字符串转换为16进制,并将其添加到一个16进制数组中,你可以使用 Python 中的 `bytearray` 函数和 `extend` 函数。首先,使用 `bytes` 函数将字符串转换为字节数组,然后使用 `extend` 函数将字节数组添加到16进制数组中。
下面是一个例子,演示了如何将一个字符串转换为16进制,并将其添加到一个16进制数组中:
```python
# 创建一个16进制数组
hex_array = bytearray.fromhex("01 23 45 67 89 AB CD EF")
# 将字符串转换为16进制字节数组
string = "Hello, World!"
hex_string = bytes(string, 'utf-8').hex()
byte_array = bytes.fromhex(hex_string)
# 将字节数组添加到16进制数组中
hex_array.extend(byte_array)
# 输出修改后的16进制数组
print(hex_array)
```
输出结果如下:
```
bytearray(b'\x01#Eg\x89\xab\xcd\xef48656c6c6f2c20576f726c6421')
```
在上面的代码中,我们首先使用 `bytearray.fromhex` 函数创建了一个16进制数组。然后,我们将字符串 `Hello, World!` 转换为16进制字节数组,并将其添加到了16进制数组中。最后,我们输出了修改后的16进制数组。
需要注意的是,在使用 `extend` 函数将字节数组添加到16进制数组中时,字节数组会被当作一个整体添加到数组中,而不是添加每个字节的16进制值。如果你想要将字符串转换为每个字节的16进制值,并将其添加到16进制数组中,可以使用前面提到的方法。
阅读全文
相关推荐














