如何在Python中通过函数实现十六进制字符串转二进制
Python实现十六进制字符串转二进制字符串
下面是直接可用的实现方案,包含输入获取和自定义转换函数:
def hex_to_binary(hex_str): # 将十六进制字符串转为整数,再格式化为对应长度的二进制字符串 return '{:0{}b}'.format(int(hex_str, 16), len(hex_str) * 4) # 获取用户输入的十六进制字符串 hex_input = input("请输入十六进制字符串:").strip() # 调用函数并输出结果 try: binary_output = hex_to_binary(hex_input) print(f"转换后的二进制字符串:{binary_output}") except ValueError: print("输入无效,请确保是合法的十六进制字符串(0-9, A-F/a-f)")
关键细节说明:
- 十六进制转整数:
int(hex_str, 16)会自动处理大小写的十六进制字符(比如abab和ABAB都能正常转换)。 - 补零保证位数:每个十六进制字符对应4位二进制,所以用
len(hex_str)*4指定二进制字符串的总长度,0表示不足时在前补零,避免出现比如输入A只返回1010而不是00001010的情况。 - 异常处理:加入
try-except捕获无效输入的情况,比如包含非十六进制字符时给出提示。
示例测试:
输入:ABAB
输出:1010101110101011
输入:0A
输出:00001010
输入:123
输出:000100100011
内容的提问来源于stack exchange,提问作者Damien Rice
相关产品推荐
相关产品推荐

