我仍然是python的新手,所以请原谅我,如果这是一个相当容易的问题,但我没有通过搜索找到任何明显的东西。
我有一串Ascii hex的形式:
7F 9D AA 3E F7 0E 9C 75 7C 37
我要做的是从表中提取一个数字(例如7F),然后将其转换为十六进制值,然后我可以对其执行数学运算。
我将如何做到这一点?
答案 0 :(得分:0)
如果您只需要将十六进制值的字符串表示形式转换为非字符串版本,则可以使用binascii将字符串表示形式转换为其十六进制等效值:
import binascii
h = "7F 9D AA 3E F7 0E 9C 75 7C 37"
binascii.unhexlify(''.join(h.split()))
# >> '\x7f\x9d\xaa>\xf7\x0e\x9cu|7'
如果需要整数,请将字符串转换为列表(以便能够迭代它),然后使用int()
将基数为16的十六进制数转换回整数:
hex_list = "7F 9D AA 3E F7 0E 9C 75 7C 37"
# Convert your string list to a list: e.g. ['7F', '9D', 'AA'...
hex_list = hex_list.split()
for hex in hex_list:
print int(hex, 16) #hex is base 16
要转换单个列表值,请在列表中指定其索引:
# Convert 7F back to an integer:
print int(hex_list[0], 16)
要将int转换回十六进制,只需传入hex()
。