Python3 字符串与hex之间的相互转换
生活随笔
收集整理的這篇文章主要介紹了
Python3 字符串与hex之间的相互转换
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在字符串轉(zhuǎn)換上,python2和python3是不同的,在查看一些python2的腳本時候,總是遇到字符串與hex之間之間的轉(zhuǎn)換出現(xiàn)問題,記錄一下解決方法。
1. 在Python2.7.x上,hex字符串和bytes之間的轉(zhuǎn)換是這樣的:
>>> a = 'aabbccddeeff' >>> a_bytes = a.decode('hex') >>> print(a_bytes) b'\xaa\xbb\xcc\xdd\xee\xff' >>> aa = a_bytes.encode('hex') >>> print(aa) aabbccddeeff >>>2.在python 3環(huán)境上,因?yàn)閟tring和bytes的實(shí)現(xiàn)發(fā)生了重大的變化,這個轉(zhuǎn)換也不能再用encode/decode完成,而是利用bytes.fromhex()進(jìn)行轉(zhuǎn)換。
2.1 在python3.5之前,這個轉(zhuǎn)換的其中一種方式是這樣的,利用bytes.fromhex()加單個字符轉(zhuǎn)換
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學(xué)習(xí)交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學(xué)習(xí)教程和PDF電子書! ''' >>> a = 'aabbccddeeff' >>> a_bytes = bytes.fromhex(a) >>> print(a_bytes) b'\xaa\xbb\xcc\xdd\xee\xff' >>> aa = ''.join(['%02x' % b for b in a_bytes]) >>> print(aa) aabbccddeeff >>>2.2 到了python 3.5之后,直接用bytes.fromhex即可完成轉(zhuǎn)換
>>> a = 'aabbccddeeff' >>> a_bytes = bytes.fromhex(a) >>> print(a_bytes) b'\xaa\xbb\xcc\xdd\xee\xff' >>> aa = a_bytes.hex() >>> print(aa) aabbccddeeff >>>總結(jié)
以上是生活随笔為你收集整理的Python3 字符串与hex之间的相互转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3接收、解析邮件
- 下一篇: Python 列表的应用场景有哪些?你使