You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python:如何用格式化字符串实现机器地址长度的十六进制对齐

解决方法

要实现这个地址格式化,你可以用两种仅靠格式化字符串的方式:

  • 方法一:利用格式化字符串的#前缀标识和宽度控制,直接写为:

    addr = 0x7fffffffd908
    formatted_addr = "{:#018x}".format(addr)
    # 输出结果:0x00007fffffffd908
    

    这里的#会自动添加0x前缀,018表示总输出宽度为18(包含0x),不足的部分会在数字前面补零,正好匹配你的需求。

  • 方法二:分开处理前缀和数字部分,先把数字格式化为16位补零的十六进制,再拼接0x:

    addr = 0x7fffffffd908
    formatted_addr = "0x{:016x}".format(addr)
    # 输出结果:0x00007fffffffd908
    

你之前用的"{:0>#18x}"出错,是因为它会把填充的零加在0x前缀的前面,而非数字部分,所以才会出现00000x7fffffffd908这种不符合要求的结果。

内容的提问来源于stack exchange,提问作者Yun7k

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 03:50:39