将十六进制的ASCII转换为python中的字符串

时间:2018-11-29 11:09:34

标签: python

我使用Windows 7和python 2.7。我要转换字符串:'['3732', '3130', '2039', '6638', '6420', '3765', '6632']',它代表ASCII的'7210 9f8d 7ef2'十六进制(包括空格) 延伸至:'7210 9f8d 7ef2'

(十六进制7的ASCII为37,2为32,空格为20)

我尝试过:

f = ['3732', '3130', '2039', '6638', '6420', '3765', '6632']
 g = []
 for i in f:

   g.append(i.decode("hex"))

print str(g).replace(', ', ' ').replace('\'', '')

但结果是[72 10 9 f8 d 7e f2]

1 个答案:

答案 0 :(得分:0)

您需要使用''.join()。因此,不要使用:

print str(g).replace(', ', ' ').replace('\'', '')

替换此:

print ''.join(g)

或者您可以将所有代码替换为:

f = ['3732', '3130', '2039', '6638', '6420', '3765', '6632']
print ''.join([i.decode("hex") for i in f])

输出为:

  

'7210 9f8d 7ef2'