RAT*_*THI 41 python string hex python-2.7
我想将十六进制字符串(例如:)转换为十六0xAD4进制数字,然后添加0x200到该数字并再次想要以0x字符串形式打印该数字.
我尝试了第一步:
str(int(str(item[1][:-2]),16))
Run Code Online (Sandbox Code Playgroud)
但是打印的值是十进制字符串而不是十六进制格式的字符串(0x格式)(我想以形式打印最终结果0x)
[:-2] 从该号码中删除最后一个00 item[1] 包含十六进制数 0xBac*_*ach 82
试试这个:
hex_str = "0xAD4"
hex_int = int(hex_str, 16)
new_int = hex_int + 0x200
print hex(new_int)
Run Code Online (Sandbox Code Playgroud)
如果您不喜欢0x开头,请用最后一行替换
print hex(new_int)[2:]
Run Code Online (Sandbox Code Playgroud)
the*_*eye 14
使用int带有第二个参数16的函数将十六进制字符串转换为整数.最后,使用hex函数将其转换回十六进制数.
print hex(int("0xAD4", 16) + int("0x200", 16)) # 0xcd4
Run Code Online (Sandbox Code Playgroud)
相反,你可以直接做
print hex(int("0xAD4", 16) + 0x200) # 0xcd4
Run Code Online (Sandbox Code Playgroud)