首页 > 解决方案 > 无法将 python 字节转换为整数(int() 的无效文字,基数为 10:'\x16')

问题描述

我正在尝试解码 ASN1 格式的数据。根据数据规范文档。预计将获得 4 个字节,我需要将其转换为整数。

    def decode_chargingId(self,field_length,field_value):
    print(field_lenght)
    return int(field_value)

上面是正在执行的一段代码,我得到同样的错误。

基数为 10 的 int() 的无效文字:'\x16'

当我尝试在 VS 代码调试器中查看带断点的字节时,我将字节视为b'\x16\x00\xf70'

我只是想在 python 中使用 int 函数来获取这些字节的整数值。

标签: python-2.7

解决方案


我唱错了转换为整数的方法。下面的代码可以很好地将字节转换为整数。

def decode_chargingId(self,field_length,field_value):
    result = 0
    for b in field_value:
        result = result * 256 + int(b)
    return result

推荐阅读