如何在Python中将十六进制字符串转换为整数?

时间:2010-04-14 11:00:45

标签: python string syntax

如何转换

x = "0x000000001" # hex number string

y = "1"

5 个答案:

答案 0 :(得分:14)

你可以这样做:

y = int("0x000000001", 16)

在你的情况下:

y = int(x, 16)

看起来你想将int转换为字符串:

y = str(int(x, 16))

答案 1 :(得分:4)

使用int()并提供您的号码所在的基数(在您的情况下为16)。
然后应用str()将其转换回字符串:

y = str(int(x, 16))

注意:如果省略基数,则使用默认基础10,这将导致您的ValueError。{/ p>

答案 2 :(得分:2)

>>> int("0x000000001", 16)
1

答案 3 :(得分:0)

Python 2.7从读取二进制文件

转换十六进制有问题

Python 3没有这个问题

f=open(file_name,'rb')
raw = f.read()

print int(raw[6])    #error invalid literal for int with base 10:
print ord(raw[6])    #Work

答案 4 :(得分:0)

你可以这样做:

y = int(x, 0)  # '0' ;python intepret x according to string 'x'.

在官方文档中,它被解释为“如果base为零,则根据字符串的内容确定正确的基数;”