Python十六进制

Vik*_*kyB 71 python hex

如何以下列格式将十进制转换为十六进制(至少两位数,零填充,不带0x前缀)?

输入:255 输出:ff

输入:2 输出:02

我试过,hex(int)[2:]但它似乎显示第一个例子,但不显示第二个例子.

Mar*_*ers 143

使用带格式的format()功能'02x'.

>>> format(255, '02x')
'ff'
>>> format(2, '02x')
'02'
Run Code Online (Sandbox Code Playgroud)

02部分告诉format()使用至少2位数并使用零来填充它的长度,x意味着小写的十六进制.

格式规范的迷你语言也给你X大写十六进制输出,并且可以前缀字段宽度与#以包括0x0X前缀(取决于你阉羊使用xX作为格式化器).只需考虑您需要调整字段宽度以允许额外的2个字符:

>>> format(255, '02X')
'FF'
>>> format(255, '#04x')
'0xff'
>>> format(255, '#04X')
'0XFF'
Run Code Online (Sandbox Code Playgroud)

  • 在输出字符串''{:02x}'.format(255)`中指定格式 (3认同)

Yoa*_*ger 23

我想这就是你想要的:

>>> def twoDigitHex( number ):
...     return '%02x' % number
... 
>>> twoDigitHex( 2 )
'02'
>>> twoDigitHex( 255 )
'ff'
Run Code Online (Sandbox Code Playgroud)