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

2022-09-05 01:13:44

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

"0xffff"   ⟶   65535
"ffff"     ⟶   65535

答案 1

如果没有前缀,您需要显式指定基数,否则无法分辨:0x

x = int("deadbeef", 16)

使用前缀,Python可以自动区分十六进制和十进制:0x

>>> print(int("0xdeadbeef", 0))
3735928559
>>> print(int("10", 0))
10

必须指定为基数才能调用此前缀猜测行为;如果省略第二个参数,int() 将假定基数为 10。0


答案 2

int(hexstring, 16)执行该技巧,并且使用和不具有 0x 前缀:

>>> int("a", 16)
10
>>> int("0xa", 16)
10