在 python 中:无法将具有 uint32_t、uint8_t、int16_t 值的变量转换为十六进制
In python: unable to convert variable with uint32_t, uint8_t, int16_t value to hexadecimal
我有一个 .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)
因为hex()
的意思是反方向转换。相反,试试这个:
var = '0x00000002UL'
int(var[:-2], 16)
请注意,您需要跳过末尾的 UL
,因为那不是 Python 语法。
我有一个 .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)
因为hex()
的意思是反方向转换。相反,试试这个:
var = '0x00000002UL'
int(var[:-2], 16)
请注意,您需要跳过末尾的 UL
,因为那不是 Python 语法。