Pythonで16進文字列をintに変換
16進文字列からint
- 基数を指定してintにパースすればいい。
>>> s = 'abcdef' >>> print int(s, 16) 11259375
- ちなみにインタラクティブシェルなら0xからはじめた16進文字列を入力すれば10進数にしたものを返してくれる。
>>> 0xdeadbeef 3735928559
intから16進文字列
- hex()を使う
>>> a = 111223 >>> print hex(a) 0x1b277
- 先頭に0xがつくのがいやならformatメソッドを使うとよい
>>> a = 111223 >>> print format(a, 'x') 1b277
- こうなふうに先頭2文字を削除するという手もある
>>> a = 111223 >>> print hex(a)[2:] 1b277
- フォーマット指定子(%記法)を使ってもいい
>>> a = 111223 >>> print '%x' % a 1b277