python如何将二进制变十六

python如何将二进制变十六

作者:Joshua Lee发布时间:2026-01-14阅读时长:0 分钟阅读次数:6

用户关注问题

Q
如何使用Python将二进制字符串转换为十六进制?

我有一个二进制格式的字符串,想在Python中将它转换成对应的十六进制字符串,该怎么做?

A

使用int和hex函数实现二进制转十六进制

可以先用int()函数将二进制字符串转换成整数,指定基数为2,再使用hex()函数将整数转换成十六进制字符串。例如:

binary_str = '1010'
num = int(binary_str, 2)
hex_str = hex(num)
print(hex_str) # 输出 '0xa'

Q
怎么去掉Python转换出来的十六进制字符串中的前缀0x?

我用hex()函数转换二进制后,得到的十六进制字符串带有'0x'前缀,想要得到纯十六进制数字怎么做?

A

去除十六进制字符串的'0x'前缀

调用hex()函数后,可以通过字符串切片去掉前两个字符:

hex_str = hex(int(binary_str, 2))[2:]
这样hex_str里就只有纯数字或字母的十六进制内容,不带'0x'。

Q
如何保证Python转换二进制到十六进制时输出固定长度?

将二进制转换成十六进制时,如何可以保证十六进制字符串输出长度恒定,比如始终为4位?

A

使用字符串格式化控制输出长度

可以使用字符串格式化方法来保证输出固定长度,示例如下:

binary_str = '1010'
num = int(binary_str, 2)
hex_str = format(num, '04x')
print(hex_str) # 输出 '000a'
这里的'04x'表示使用4位宽的十六进制,空缺位置补0。