Python中如何将十六进制字符串转换为十六进制整数类型?
把十六进制字符串转为整数类型的方法
嘿,这个问题其实超容易解决,Python内置的int()函数就直接支持这种场景!
你只需要调用int()的时候,把第二个参数指定为16(也就是十六进制的基数),它会自动识别字符串开头的0x前缀,将其解析为对应的整数:
# 转换十六进制字符串 hex_str = "0x55" result = int(hex_str, 16) # 验证类型和值 print(result) # 输出 85(这是0x55对应的十进制值) print(type(result)) # 输出 <class 'int'>,和直接赋值0x55的类型完全一致 print(result == 0x55) # 输出 True,说明两个值是等价的
补充几个小细节:
- 如果你的十六进制字符串没有
0x前缀(比如直接是"55"),同样可以用int("55", 16)得到相同的整数结果 - 如果你之后需要把这个整数转回十六进制字符串,用
hex(result)就可以得到"0x55"
其实Python里的整数本身并不区分进制,0x55只是它的十六进制写法,而85是十进制写法,本质上是同一个整数。所以转换后得到的整数和你直接写num = 0x55是完全一样的~
内容的提问来源于stack exchange,提问作者Dapper
相关产品推荐
相关产品推荐

