
python如何将二进制变十六
用户关注问题
如何使用Python将二进制字符串转换为十六进制?
我有一个二进制格式的字符串,想在Python中将它转换成对应的十六进制字符串,该怎么做?
使用int和hex函数实现二进制转十六进制
可以先用int()函数将二进制字符串转换成整数,指定基数为2,再使用hex()函数将整数转换成十六进制字符串。例如:
binary_str = '1010'
num = int(binary_str, 2)
hex_str = hex(num)
print(hex_str) # 输出 '0xa'
怎么去掉Python转换出来的十六进制字符串中的前缀0x?
我用hex()函数转换二进制后,得到的十六进制字符串带有'0x'前缀,想要得到纯十六进制数字怎么做?
去除十六进制字符串的'0x'前缀
调用hex()函数后,可以通过字符串切片去掉前两个字符:
hex_str = hex(int(binary_str, 2))[2:]
这样hex_str里就只有纯数字或字母的十六进制内容,不带'0x'。
如何保证Python转换二进制到十六进制时输出固定长度?
将二进制转换成十六进制时,如何可以保证十六进制字符串输出长度恒定,比如始终为4位?
使用字符串格式化控制输出长度
可以使用字符串格式化方法来保证输出固定长度,示例如下:
binary_str = '1010'
num = int(binary_str, 2)
hex_str = format(num, '04x')
print(hex_str) # 输出 '000a'
这里的'04x'表示使用4位宽的十六进制,空缺位置补0。