1. ホーム
  2. python

Python 16進数

2023-09-12 02:21:57

質問

以下のフォーマットで10進数を16進数に変換する方法を教えてください(最低2桁、ゼロパッド、0x接頭辞なし)。

入力してください。 255 出力 ff

入力 2 出力 02

試しに hex(int)[2:] を試してみましたが、最初の例は表示されますが、2番目の例は表示されないようです。

どのように解決するのですか?

この場合 format() 機能 を持つ '02x' の書式で指定します。

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

02 の部分は format() には少なくとも2桁の数字を使い、長さを揃えるためにゼロを使うように指示します。 x は小文字の16進数という意味です。

フォーマット指定ミニ言語 はまた X で大文字の16進数出力が可能で、フィールド幅の前に # を含めることができます。 0x または 0X プレフィックスを使用するか x または X を書式設定することもできます)。ただ、これらの余分な2文字を許容するためにフィールド幅を調整する必要があることを考慮に入れておいてください。

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