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