国产探花免费观看_亚洲丰满少妇自慰呻吟_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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙岩市| 西贡区| 舞钢市| 开封市| 隆德县| 甘德县| 祁东县| 乐亭县| 左权县| 庆元县| 当阳市| 株洲市| 澄城县| 赫章县| 汨罗市| 建德市| 永昌县| 万山特区| 玉门市| 青冈县| 宁南县| 泗阳县| 汕尾市| 郴州市| 铅山县| 抚州市| 晋江市| 井冈山市| 西盟| 聂拉木县| 高平市| 紫阳县| 武鸣县| 峨山| 上杭县| 洛隆县| 疏附县| 大石桥市| 遂平县| 泗水县| 古交市|