需要用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