小猫种鱼

你从远方来,我到远方去,遥远的路程经过这里,天空一无所有,为何给我安慰

导航

python 字符串转16进制函数

Posted on 2018-11-20 17:02  遥远的路  阅读(23617)  评论(2编辑  收藏  举报

需要用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('9') :
            odata = odata << 4
            odata += tmp - ord('0')
        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