我正在尝试将c_uint转换为十六进制字符串,但出现错误:
ldd /path/to/file.so
错误:十六进制(QTestStream):参数1具有意外的类型c_ulong
尝试时:
x = c_uint(1083113632)
y = hex(x)
错误:TypeError:需要一个整数
我搜索了类似的解决方案,但没有找到合适的解决方案。
如何将c_uint转换为十六进制字符串?
答案 0 :(得分:0)
关闭,您需要像这样对value
对象本身调用c_uint
属性:
x = c_uint(1083113632)
y = hex(x.value)
print(y)
答案 1 :(得分:0)
运行时:
z = ctypes.c_uint(x).value
x
已经是c_uint
了,这就是为什么此行引发错误的原因,请改用x
的值:
>>> x = c_uint(1083113632)
>>> z = x.value
>>> hex(z)
'0x408f00a0'