1. 十六进制字符串转双精度浮点数
import sys
import struct
import bytes
if __name__ == "__main__":
strval = sys.argv[1]
#strval = "00 00 00 00 00 00 f0 3f"
substrval = ""
for chrval in strval:
if chrval == ' ':
continue
substrval += chrval
result = struct.unpack(">d", int(substrval, 16).to_bytes(8, 'little'))[0]
print(result)
2. 十六进制的ascii字符串转对应的英文串
import sys
if __name__ == "__main__":
strval = sys.argv[1]
#strval = "57 69 6e 64 6f 77 73 00"
substrval = ""
result=""
for chrval in strval:
if chrval == ' ':
continue
if len(substrval) < 2:
substrval = substrval + chrval
continue
result += chr(int(substrval, 16))
substrval = chrval
print(result)