2017-03-15 32 views
-1

長い16進文字列があります(例: '0x0000fffffffffffff000000000ffffff')。Pythonで長い16進文字列を16進数に変換します

同じヘクス番号を強要するためにそれを変換する方法:

def hex_op(hex_number): 
    len_ = len(hex_number[2:]) 
    if len_ < 32: #checking if number has less than 32 digits 
     return "0x" + "0"*(32-len_) + hex_number[2:] 
    else: 
     return hex_number 

そして:

+0

試したコードと生成された出力を含めることはできますか? –

+0

[16進文字列をintに変換してPythonで変換する]の可能な複製(http://stackoverflow.com/questions/209513/convert-hex-string-to-int-in-python) – James

答えて

0
>>> eval('0x0000fffffffffffff000000000ffffff') 
5192296858534826475608991739150335 
>>> hex(eval('0x0000fffffffffffff000000000ffffff')) 
'0xfffffffffffff000000000ffffff' #unnecessary zeros is omitted here 

しかし、あなたは、32桁の固定長の番号を取得する必要がある場合は、ここでのソリューションです0x0000fffffffffffff000000000ffffff使用例:

>>> hex_op('0xfffffffffffff000000000ffffff') # our number that we got from previous example 
'0x0000fffffffffffff000000000ffffff' 
関連する問題