2013-07-29 231 views
2

如何使用存储在参数中的十六进制值转换为十进制在python转换十六进制值到十进制值

data_size = 3#number of bytes of data to read 
offset = 0 #start offset 

while offset <= 784128: 
    for i in range (0,784128): 
     Target_file.seek(offset) 
     s = Target_file.read(data_size) 
     i = hex (s) 
     str(i) 
     output.write(str(i)) 
     offset = offset + 3 

以上是我试图输入十六进制值转换成称为“S”的参数的程序并试图将该值转换为十进制值并将其写入文件中。

但我得到的错误是

i = hex (sector_header) 
TypeError: hex() argument can't be converted to hex 

回答

1
i = hex (sector_header) 
TypeError: hex() argument can't be converted to hex 

您正在试图将其转换为十六进制值。

使用

int("ff", 16) 
i = int(s, 16) 

This answer解释它。

+0

我试过了上面的代码,但是现在我得到了这个错误:i = int(s,16) ValueError:无效文字为int()与基地16:'\ xa6 \ xaa \ xab' – user2628659