国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實現將16進制字符串轉化為ascii字符的方法分析

2020-02-16 01:54:57
字體:
來源:轉載
供稿:網友

本文實例講述了Python實現將16進制字符串轉化為ascii字符的方法。分享給大家供大家參考,具體如下:

字符串456e633064316e675f31735f66336e,通過Python,按照兩個字符,例如45,6e,63形式變成ascii碼格式,輸出acsii碼格式的字符串。

代碼如下:

a = "456e633064316e675f31735f66336e"''.join([chr(int(b, 16)) for b in [a[i:i+2] for i in range(0, len(a), 2)]])

拆分了代碼,實際運行了一下,解釋一下代碼的意思:

1、

[a[i:i+2] for i in range(0, len(a), 2)]

這段是lamda表達式,說白了,就是一個for循環,范圍是從0開始到a字符串的長度,每次步進2,也就是第一次是0,第二次是2,第三次是4。。。

相應的 a[i:i+2],就是第一次從a里取出0:0+2 也就是0:2,那么實際上類似于數組,也就是取出a字符串的前面2個字符,注意這里0:2 實際上是不包含2的,只是0、1而已。

然后,外面的一層[ ]的意思就是把循環的返回結果放到一個 列表里,列表就是[]包含在內的,用逗號分隔的串。但是這樣表達式可以起到簡化代碼的作用。

實際結果就是:

======================== C:/c - 副本 (2).py ========================['45', '6e', '63', '30', '64', '31', '6e', '67', '5f', '31', '73', '5f', '66', '33', '6e']

2、

[chr(int(b, 16)) for b in [a[i:i+2] for i in range(0, len(a), 2)]]

這個外層的for循環就是把內存的for循環結果 :

['45', '6e', '63', '30', '64', '31', '6e', '67', '5f', '31', '73', '5f', '66', '33', '6e']

再次遍歷一遍,就是每次從這個列表里取出一個元素,這里就是b,然后對b進行轉化,這里int(b,16)表示 b是一個16進制的數字,把這個數字轉化為int整型,然后chr函數把這個整數轉化為字符,也就是ascii字符。

結果為:

['E', 'n', 'c', '0', 'd', '1', 'n', 'g', '_', '1', 's', '_', 'f', '3', 'n']

3、

''.join([chr(int(b, 16)) for b in [a[i:i+2] for i in range(0, len(a), 2)]])

就是用‘'空串,把后面的 ['E', 'n', 'c', '0', 'd', '1', 'n', 'g', '_', '1', 's', '_', 'f', '3', 'n'] 列表中的每個元素,join串聯在一起。

最后的結果就是:Enc0d1ng_1s_f3n

4、另一種寫法

a = "456e633064316e675f31735f66336e"al = []for i in range(0, len(a), 2):  b = a[i:i+2]  al.append(chr(int(b, 16)))print ''.join(al)

PS:這里再為大家推薦幾款相關工具供大家參考使用:

ASCII碼對照表:
http://tools.jb51.net/table/ascii

Native/ASCII在線編碼轉換工具:
http://tools.jb51.net/transcoding/native2ascii

在線中文漢字/ASCII碼/Unicode編碼互相轉換工具:
http://tools.jb51.net/transcoding/chinese2unicode

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岳阳市| 道孚县| 彰化县| 兴和县| 孟州市| 襄樊市| 都昌县| 扶余县| 米泉市| 从化市| 兴宁市| 台北县| 沙田区| 鄯善县| 紫阳县| 临城县| 颍上县| 上蔡县| 奎屯市| 望江县| 马山县| 万山特区| 鹤峰县| 桂林市| 云阳县| 师宗县| 腾冲县| 织金县| 安多县| 聂拉木县| 定边县| 上蔡县| 昌平区| 西城区| 连州市| 龙陵县| 武威市| 万盛区| 冷水江市| 揭西县| 益阳市|