Pythonhex

如何将十进制转换为hex格式(至less两位数,零填充,没有0x前缀)?

input: 255输出: ff

input: 2输出: 02

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

'02x'格式使用format()函数 。

 >>> format(255, '02x') 'ff' >>> format(2, '02x') '02' 

02部分告诉format()使用至less2个数字并使用零填充长度, x表示小写的hex。

格式规范迷你语言也为X提供了大写的hex输出,并且可以在字段宽度前添加#以包含0x0X前缀(取决于您使用x还是X作为格式化程序)。 只要考虑到您需要调整字段宽度以允许额外的2个字符:

 >>> format(255, '02X') 'FF' >>> format(255, '#04x') '0xff' >>> format(255, '#04X') '0XFF' 

我想这是你想要的:

 >>> def twoDigitHex( number ): ... return '%02x' % number ... >>> twoDigitHex( 2 ) '02' >>> twoDigitHex( 255 ) 'ff' 

第一个答案是最好的,但我有一个古老的答案,但function

 >>> "".join(list(hex(255))[2:]) 'ff'