
python如何把字符转成十六
用户关注问题
如何在Python中将字符串转换为十六进制?
我有一个普通的字符串,想用Python代码把它转换成十六进制表示,该怎么操作?
使用str.encode和binascii.hexlify方法转换字符串为十六进制
在Python中,可以先使用字符串的.encode()方法将其编码为字节串,然后利用binascii.hexlify()函数将字节串转换成十六进制字符串。例如:
import binascii
s = 'hello'
hex_str = binascii.hexlify(s.encode()).decode()
print(hex_str) # 输出:68656c6c6f
如何将十六进制字符串转换回普通字符串?
如果我获得一个十六进制格式的字符串,如何用Python将它还原成原始字符串?
利用binascii.unhexlify将十六进制转回字节串,再解码成字符串
可以使用binascii.unhexlify函数将十六进制字符串转换为字节串,然后调用decode()方法还原为普通字符串。例如:
import binascii
hex_str = '68656c6c6f'
s = binascii.unhexlify(hex_str).decode()
print(s) # 输出:hello
有没有更简洁的方法转换字符串到十六进制?
除了binascii模块,有没有Python内置或其他简单方法实现字符串转十六进制?
使用bytes对象的hex()方法实现字符串到十六进制转换
字符串先编码成字节后,调用bytes类型的hex()方法可以直接获得十六进制字符串,代码示例如下:
s = 'hello'
hex_str = s.encode().hex()
print(hex_str) # 输出:68656c6c6f