📅  最后修改于: 2023-12-03 15:21:40.702000             🧑  作者: Mango
在 Python 中,将二进制字符串转换为十六进制字符串的过程是相对简单的。我们可以使用 binascii
模块中的 unhexlify
函数将二进制字符串转换为十六进制字符串,具体操作如下:
import binascii
binary_string = "011010110110000101101100"
hex_string = binascii.hexlify(binascii.unhexlify(binary_string)).decode()
print(hex_string) # 输出: "6b6162"
在以上代码中,我们首先使用 binascii.unhexlify
函数将二进制字符串转换为二进制数据,接着使用 binascii.hexlify
函数将二进制数据转换为十六进制字符串,最后使用 decode
函数将字节字符串转换为字符串类型。
然后,我们可以写一个简单的函数将任意二进制字符串转换为十六进制字符串:
import binascii
def binary_to_hex(binary_string):
hex_string = binascii.hexlify(binascii.unhexlify(binary_string)).decode()
return hex_string
binary_string = "0000101001011011"
hex_string = binary_to_hex(binary_string)
print(hex_string) # 输出: "0a5b"
此外,我们还可以使用 int
函数来将二进制字符串转换为十六进制字符串,具体操作如下:
binary_string = "101001011011"
hex_string = hex(int(binary_string, 2))[2:]
print(hex_string) # 输出: "a5b"
在以上代码中,我们首先使用 int
函数将二进制字符串转换为整型,接着使用 hex
函数将整型转换为十六进制字符串,并使用切片操作去掉前缀 "0x"。
总的来说,无论是使用 binascii
模块,还是使用 int
函数,将二进制字符串转换为十六进制字符串都是相对简单的。