You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何将十六进制字符串转换为十六进制整数类型?

从文本读取十六进制字符串并获取整数类型变量的解决方案

在Python中,不存在“既是十六进制形式又是整数类型”的变量——直接写0xfff本质是用十六进制字面量表示的整数,它和十进制的4095是同一个整数,只是写法不同,内存存储完全一致。

你的需求可以实现,只需要去掉多余的hex()转换步骤即可:

正确代码示例

# 读取文本文件中的十六进制字符串
with open("Msg.txt", "r") as Read_msg:
    hex_str = Read_msg.readline().strip()  # 去除字符串中的换行、空白字符

# 将十六进制字符串转换为整数类型
hex_int = int(hex_str, 16)

# 验证类型和值
print(type(hex_int))  # 输出: <class 'int'>
print(hex_int)        # 默认输出十进制值:4095
print(hex(hex_int))   # 若需要十六进制格式的字符串输出,可调用hex()

为什么之前的转换会失败?

你之前调用hex(Hex)会把转换好的整数重新转回十六进制格式的字符串,这一步是多余的,导致变量类型回到字符串。只需要保留int(hex_str, 16)这一步,得到的就是符合要求的整数变量,和直接定义Hex = 0xfff完全等价。

内容的提问来源于stack exchange,提问作者Thuse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 15:14:59