我正在将一些 python 移植回 .NET,但我似乎无法弄清楚 %x
和 %#x
之间的区别
print "%s: [%#x][%x] %s" % (message, self.eip, self.opcode,
i.get_disasm())
与下面的这个函数相同,它似乎只是一个普通的 Hex()
函数,在右前方附加 0x 为什么不直接使用 %x
呢?
def prettify_value(value):
if TypeOf value, (long Is int):
value = '%#x' % value
return value
是的,我似乎在这里找不到答案:https://docs.python.org/2/library/string.html
没关系,我发现它打印得非常精美
'#'
选项仅对整数有效,并且仅对二进制、八进制或十六进制输出有效。如果存在,它指定输出将分别以“0b”、“0o”或“0x”为前缀。
最佳答案
“#”选项仅对整数有效,并且仅对二进制、八进制或十六进制输出有效。如果存在,它指定输出将分别以“0b”、“0o”或“0x”为前缀。
关于python 字符串格式 %x 和 %#x 有什么区别(哈希标签十六进制?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32513104/