无法将python字节转换为Integer(以10为基数的int()的无效文字:'\ x16')

时间:2018-11-05 05:16:44

标签: python-2.7

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

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

上面是正在执行的那段代码,同样,我也遇到了错误。

int()以10为底的无效文字:'\ x16'

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

我只是想使用python中的int函数获取那些字节的等效整数值。

1 个答案:

答案 0 :(得分:0)

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

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