Python - 如何将整数转换为32位十六进制字符串
我想要一个用Python解决这个问题的方法:
比如说:
integer 1 -> string "0x00000001"
integer 64 -> string "0x00000040"
integer 3652458 -> string "0x0037BB6A"
如果数字在range(0, 2**32)
这个范围内,字符串的大小是不会改变的。
2 个回答
2
从Python 3.6开始,你可以使用f-strings:
formatted = f"0x{3652458:08X}"
f-strings让你可以直接把值放进字符串里,放在它们应该出现的位置,而不需要在脑子里记住一堆格式参数:
value = 3652458
print(f"Your formatted value is 0x{value:08x}")
27
试试这个:
'0x%08X' % 3652458
或者(如果你用的是Python 2.6及更新版本)
'0x{0:08X}'.format(3652458)
这两种方法都会返回:
'0x0037BB6A'