在python中:无法将uint32_t、uint8_t、int16_t值的变量转换为十六进制



我有一个.ini文件,其值如下

[Value1]
data_type = uint16_t
value = 0x0001U

[Value2]
data_type = uint32_t
value = 0x00000002UL
[Value4]
data_type = uint8_t
value = 5U

我无法将这些值转换为十六进制,如下所示注释:我可以很容易地使用configparser读取.ini文件。假设变量var中的值是字符串,我想将该字符串变量转换为十六进制形式的

print (hex(var)) #this should print the  hexadecimal value 

这不起作用:

var = '0x00000002UL'
hex(var)

因为CCD_ 1意味着在相反的方向上转换。相反,试试这个:

var = '0x00000002UL'
int(var[:-2], 16)

请注意,您需要跳过末尾的UL,因为这不是Python语法。

最新更新