使用 .format() 将整数转换为二进制时缺少零

cod*_*rei 2 python string format binary python-2.7

所以我想在 Python 中将整数转换为二进制。我发现这个很好的解释并在我的程序中使用了它。由于我后来不得不使用二进制文件,因此我遇到了一些问题,并看到格式发生了一些奇怪的事情。

有当'{0:08b}'.format(6)我在程序或进入入壳我得到:'00000110'。但是当我用 16 位和 32 位尝试同样的事情时,零没有显示出来,我似乎无法使用它们。喜欢:

>>> '{0:16b}'.format(6)
'             110'
>>> '{0:32b}'.format(6)
'                             110'
Run Code Online (Sandbox Code Playgroud)

所以我想知道为什么会这样(我为自己和我的程序找到了另一个解决方案,但我仍然不知道为什么会这样!)

如果这个问题已经被问过并回答过,我很抱歉。我用谷歌搜索并试图在这里找到一个像我这样的问题,但没有成功。

Bre*_*arn 5

008b是格式规范的一部分。请参阅此处的文档。如果您想要零填充,请执行'{0:016b}'.format(6)'{0:032b}'.format(6)