python如何把字符转成十六

python如何把字符转成十六

作者:William Gu发布时间:2026-01-06阅读时长:0 分钟阅读次数:19

用户关注问题

Q
如何在Python中将字符串转换为十六进制?

我有一个普通的字符串,想用Python代码把它转换成十六进制表示,该怎么操作?

A

使用str.encode和binascii.hexlify方法转换字符串为十六进制

在Python中,可以先使用字符串的.encode()方法将其编码为字节串,然后利用binascii.hexlify()函数将字节串转换成十六进制字符串。例如:

import binascii
s = 'hello'
hex_str = binascii.hexlify(s.encode()).decode()
print(hex_str)  # 输出:68656c6c6f
Q
如何将十六进制字符串转换回普通字符串?

如果我获得一个十六进制格式的字符串,如何用Python将它还原成原始字符串?

A

利用binascii.unhexlify将十六进制转回字节串,再解码成字符串

可以使用binascii.unhexlify函数将十六进制字符串转换为字节串,然后调用decode()方法还原为普通字符串。例如:

import binascii
hex_str = '68656c6c6f'
s = binascii.unhexlify(hex_str).decode()
print(s)  # 输出:hello
Q
有没有更简洁的方法转换字符串到十六进制?

除了binascii模块,有没有Python内置或其他简单方法实现字符串转十六进制?

A

使用bytes对象的hex()方法实现字符串到十六进制转换

字符串先编码成字节后,调用bytes类型的hex()方法可以直接获得十六进制字符串,代码示例如下:

s = 'hello'
hex_str = s.encode().hex()
print(hex_str)  # 输出:68656c6c6f