python 字符串格式 %x 和 %#x 有什么区别(哈希标记十六进制?)
python string format whats the difference between %x and %#x (hash tag hexadecimal?)
我正在将一些 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 移植回 .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”为前缀。