关于python:如何将十六进制字符串转换为十六进制数

How to convert a hex string to hex number

我要将十六进制字符串(例如:0xAD4转换为十六进制数字,然后将0x200添加到该数字,然后再将该数字以0x的形式打印为字符串。

我尝试了第一步:

1
str(int(str(item[1][:-2]),16))

但要打印的值是十进制字符串,而不是十六进制格式的字符串(0x格式)(我要以0x的形式打印最终结果)

  • [:-2]从该号码中删除最后00个
  • item[1]是以0x的形式包含十六进制数。


试试这个:

1
2
3
4
hex_str ="0xAD4"
hex_int = int(hex_str, 16)
new_int = hex_int + 0x200
print hex(new_int)

如果您不喜欢开头的0x,请将最后一行替换为

1
print hex(new_int)[2:]


使用带第二个参数16的int函数,将十六进制字符串转换为整数。最后,使用hex函数将其转换回十六进制数。

1
print hex(int("0xAD4", 16) + int("0x200", 16)) # 0xcd4

相反,你可以直接做

1
print hex(int("0xAD4", 16) + 0x200) # 0xcd4


使用格式字符串

1
2
intNum = 123
print"0x%x"%(intNum)

hex功能。

1
2
intNum = 123
print hex(intNum)