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

Python十六进制转整数问题:调用hex()得到字符串而非预期整数

解决方案

你需要把字节串转换成整数或可读数字的话,有两种直接的方法:

  • 方法一:先通过hex()得到十六进制字符串,再用int()转成十进制整数:

    >>> int(b'\x00\x00\x00\x00\x00\x01\x86\xa0'.hex(), 16)
    67232
    
  • 方法二:直接用Python内置的int.from_bytes()方法,更高效,还能指定字节序(你的字节串是高位在前的大端序,所以设byteorder='big'):

    >>> int.from_bytes(b'\x00\x00\x00\x00\x00\x01\x86\xa0', byteorder='big')
    67232
    

如果想要带十六进制前缀的可读格式,可以再套一层hex():

>>> hex(int.from_bytes(b'\x00\x00\x00\x00\x00\x01\x86\xa0', byteorder='big'))
'0x186a0'

之前用的bytes.hex()只是把每个字节转换成两位十六进制字符拼接成字符串,不会自动转成整数,所以需要上面的步骤来得到你要的数字格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 06:50:18