python十六进制字符串转hex
时间: 2023-09-13 21:09:58 浏览: 46
在 Python 中,可以使用 `binascii` 模块的 `unhexlify` 函数将十六进制字符串转换为二进制数据(bytes),然后再使用 `hex` 函数将二进制数据转换为十六进制字符串。
示例代码如下:
```python
import binascii
hex_str = "68656c6c6f20776f726c64"
binary_data = binascii.unhexlify(hex_str)
hex_str_again = binary_data.hex()
print(hex_str_again) # 输出:68656c6c6f20776f726c64
```
以上代码中,先定义了一个十六进制字符串 `hex_str`,然后使用 `binascii.unhexlify` 函数将其转换为二进制数据 `binary_data`,接着使用 `hex` 函数将二进制数据转换为十六进制字符串 `hex_str_again`。最后打印输出 `hex_str_again`,即为转换后的十六进制字符串。
相关问题
python 十六进制数组 转 十六进制字符串
在Python中,可以使用`binascii`模块来进行十六进制数组和十六进制字符串之间的转换。下面是一个示例代码:
```python
import binascii
# 十六进制数组转十六进制字符串
hex_array = [0x48, 0x65, 0x6c, 0x6c, 0x6f] # 十六进制数组
hex_string = binascii.hexlify(bytes(hex_array)).decode('utf-8') # 转换为十六进制字符串
print(hex_string) # 输出:48656c6c6f
# 十六进制字符串转十六进制数组
hex_string = "48656c6c6f" # 十六进制字符串
hex_array = bytearray.fromhex(hex_string) # 转换为十六进制数组
print(hex_array) # 输出:bytearray(b'Hello')
```
在上面的示例中,我们使用`binascii.hexlify()`函数将十六进制数组转换为十六进制字符串,并使用`decode('utf-8')`将字节序列解码为字符串。而对于十六进制字符串转换为十六进制数组,则使用`bytearray.fromhex()`函数将字符串转换为字节数组。
python 字符串转十六进制字符串
以下是Python中字符串转十六进制字符串的函数示例:
```python
def to_hex(string):
''' 字符串转十六进制 '''
hex_string = [] # 初始化转换后的十六进制字符列表。
for i in string: # 遍历字符串。
hex_string.append(hex(ord(i))[2:].zfill(4).upper()) # 用“切片”[:3]方式截取转换后的十六进制字符串除十六进制标识字符外的字符串。由于有的中文字符需四位十六进制字符表示,所以用str.zfill(4)设置成每个字符四位十六进制字符(不足四位前置0)。为了好看,我用str.upper()方法转小写字母为大写。
return ''.join(hex_string) # 返回“无缝链接”后的十六进制字符串。
```
使用示例:
```python
string = 'hello world'
hex_string = to_hex(string)
print(hex_string) # 输出:48656C6C6F20576F726C64
```