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

Python中拼接两个十六进制字符串报错的问题排查

问题原因与解决方案

这个坑我之前踩过!你遇到的ValueError根源在于调用int()函数时没有指定进制参数。

默认情况下,int()会把传入的字符串当作十进制数值来解析,但你的字符串'0x15'里包含了十进制中不存在的x字符,这就导致解析失败,直接抛出了“无效的十进制字面量”错误。

修复方法

只需要在调用int()时加上第二个参数16,明确告诉Python:“这是一个十六进制格式的字符串,按十六进制解析它!”。不管字符串带不带0x前缀,int()都能正确识别并转换。

修正后的代码如下:

a = '0x15'
b = '0x18'
# 指定进制为16来解析十六进制字符串
combined = hex( (int(a, 16) << 8) | int(b, 16) )
print(combined)  # 输出结果:'0x1518'

额外说明

如果你的十六进制字符串没有0x前缀(比如a='15'),同样可以用int(a,16)来转换,0x只是十六进制的标识前缀,int()函数会自动忽略它。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:26:25