python 字符串转16进制函数

时间:2021-07-13 15:56:14

需要用python处理16进制的文本,比如像下面这个文本

40 80 C0 40 80 C0 40 80 C0 40 80 C0 40 BF CC 40 80 C0 40 80 C0 40 80 C0 40 80 C0 41 BF CC 40 80 C0

刚学python,很多函数不清楚,不知道库里有没有可用的函数,于是自己写了一个。

def str2hex(s):
odata = 0;
su =s.upper()
for c in su:
tmp=ord(c)
if tmp <= ord('') :
odata = odata << 4
odata += tmp - ord('')
elif ord('A') <= tmp <= ord('F'):
odata = odata << 4
odata += tmp - ord('A') + 10
return odata

以下是测试结果

data = str2hex('ABCD')
print(str(data))
print(hex(data))
#打印输出
43981
0xabcd