📜  二进制字符串到十六进制 python (1)

📅  最后修改于: 2023-12-03 15:21:40.702000             🧑  作者: Mango

二进制字符串到十六进制 Python

在 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 函数,将二进制字符串转换为十六进制字符串都是相对简单的。