如何转换
x = "0x000000001" # hex number string
到
y = "1"
答案 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为零,则根据字符串的内容确定正确的基数;”