今天遇到一个问题,如何在python中把字符的字符的十六进制字符串形式的ASICII码转成字符呢?
比如我有一个字符串 s = '41',我现在要把它转成ASICII码为0x41的这个字符‘A’,要怎么做呢?
第一步当然是先转成整型。
# 16表示16进制
i = int(s,16)
然后呢,用到struct包中的pack函数,把它包装到一个码流里面。
# b表示占一个字节吧貌似,这里的参数还有很多可选,可以去看manual
p = struct.pack('b',i)
其实到这里已经完成了,要从网络发送,或者要保存到文件已经可以进行了。
不过非要取出来,也可以用unpack函数
c = struct.unpack('c',p)
print c
输出:
('A',)