📌  相关文章
📜  Python|将十六进制转换为二进制的方法(1)

📅  最后修改于: 2023-12-03 14:46:28.024000             🧑  作者: Mango

Python | 将十六进制转换为二进制的方法

在Python中,将十六进制字符串转换为二进制字符串是相当简单的。我们可以使用Python内置的bin()函数。bin()函数接受一个整数作为参数,返回其二进制表示的字符串。

但是,当我们想要将十六进制字符串转换为二进制字符串时,首先需要将十六进制字符串转换为整数。Python中有两种方法可以完成此操作。

方法 1:使用int()函数

int()函数以两个参数调用时,第一个参数是数值或字符串,第二个参数是基数。当第一个参数是字符串时,第二个参数指定字符串表示的基数(进制)。我们可以将十六进制字符串作为参数传递给int()函数,并将基数设置为16,然后将该函数的输出转换为二进制字符串。

下面是一个使用int()函数将十六进制字符串转换为二进制字符串的示例程序:

hexStr = 'a6' # 要转换为二进制的十六进制字符串
binStr = bin(int(hexStr, 16))[2:] # 转换为二进制字符串
print(binStr)

输出:

10100110

方法 2:使用binascii模块

Python的binascii模块提供了十六进制字符串和二进制数据之间的转换功能。我们可以使用binascii.unhexlify()函数将十六进制字符串转换为二进制数据,然后使用bin()函数将二进制数据转换为二进制字符串。

下面是使用binascii模块将十六进制字符串转换为二进制字符串的示例程序:

import binascii

hexStr = 'a6' # 要转换为二进制的十六进制字符串
binData = binascii.unhexlify(hexStr) # 转换为二进制数据
binStr = bin(int.from_bytes(binData, byteorder='big'))[2:] # 转换为二进制字符串
print(binStr)

输出:

10100110

需要注意的是,使用从bin()函数返回的二进制字符串时,我们需要移除前面的'0b'。因此,我们使用'[2:]'操作符从第三个字符开始提取最终的二进制字符串。

关于Python | 将十六进制转换为二进制的方法,我们在本文中进行了说明。由于Python中内置的bin()函数非常强大且易于使用,因此我们可以轻松地将十六进制字符串转换为二进制字符串。