您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python中的binascii模塊如何使用”,在日常操作中,相信很多人在Python中的binascii模塊如何使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”Python中的binascii模塊如何使用”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
binascii模塊用于在二進(jìn)制和ASCII之間轉(zhuǎn)換
>> import binascii # 將binary 轉(zhuǎn)ascii并用十六進(jìn)制表示 >> str1 = b"hello world" >> binascii.b2a_hex(b"hello world") # 輸出 b'68656c6c6f20776f726c64' # 相反操作 >> binascii.a2b_hex(b'68656c6c6f20776f726c64') # 輸出b'hello world' >> binascii.hexlify(b"hello world") # 注解: 同b2a_hex(), 返回二進(jìn)制 data 的十六進(jìn)制表示。 data 的每個(gè)字節(jié)都轉(zhuǎn)換為相應(yīng)的2位十六進(jìn)制表示。因此返回的字節(jié)對(duì)象的長度是 data 的長度的兩倍。 # 輸出 b'68656c6c6f20776f726c64' >> binascii.unhexlify(b'68656c6c6f20776f726c64') # 注解: 同a2b_hex(), 返回由十六進(jìn)制字符串 hexstr 表示的二進(jìn)制數(shù)據(jù)。 hexstr 必須包含偶數(shù)個(gè)十六進(jìn)制數(shù)字(可以是大寫或小寫),否則會(huì)引發(fā) Error 異常。 # 輸出b'hello world'
廢話少說,直接上代碼:
# !/usr/bin/env python # -*- coding:utf-8 -*- # author:大西瓜 # 導(dǎo)入binascii模塊 import binascii a = b'BE27E8FFFF010203' # 先把b'BE27E8FFFF010203'轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)然后在用十六進(jìn)制表示 b = binascii.b2a_hex(a) # 打印出:b'42453237453846464646303130323033',例如B對(duì)應(yīng)ascii碼42,E對(duì)應(yīng)ascii碼45 print(b) # 與b2a_hex相反,打印出:b'BE27E8FFFF010203' print(binascii.a2b_hex(b)) # 這個(gè)功能和b2a_hex()一樣 # 打印出:b'42453237453846464646303130323033',例如B對(duì)應(yīng)ascii碼42,E對(duì)應(yīng)ascii碼45 c = binascii.hexlify(a) print(c) # 這個(gè)功能和a2b_hex()一樣,打印出:b'BE27E8FFFF010203' print(binascii.unhexlify(c))
hex()
:十進(jìn)制轉(zhuǎn)十六進(jìn)制
#把10進(jìn)制轉(zhuǎn)整形換成16進(jìn)制 >>> hex(88) '0x58' #把浮點(diǎn)型轉(zhuǎn)換成16進(jìn)制 >>> 1.23.hex() '0x1.3ae147ae147aep+0' #內(nèi)置函數(shù)hex和binascii.hexlify()的區(qū)別就在于, #hex只能接受整形不能接受字符串 >>> hex('88') Traceback (most recent call last): File "<pyshell#26>", line 1, in <module> hex('88') TypeError: hex() argument can't be converted to hexbin():ba
bin()
:把十進(jìn)制整形轉(zhuǎn)換成二進(jìn)制字符
#把十進(jìn)制整型轉(zhuǎn)換成二進(jìn)制 >>> bin(88) '0b1011000' >>> bin(33) '0b100001' oct():把十進(jìn)制轉(zhuǎn)換成八進(jìn)制字符 #把十進(jìn)制轉(zhuǎn)換成八進(jìn)制 >>> oct(500) '0764' >>> oct(488) '0750'
chr()
:把一個(gè)整形轉(zhuǎn)換成ASCII碼表中對(duì)應(yīng)的單個(gè)字符
#把一個(gè)整形轉(zhuǎn)換成ASCII碼表中對(duì)應(yīng)的單個(gè)字符 >>> chr(98) 'b' >>> chr(97) 'a' ord():和chr相反,把ASCII碼表中的字符轉(zhuǎn)換成對(duì)應(yīng)的整形 >>> ord('b') 98 >>> ord('c') 99
到此,關(guān)于“Python中的binascii模塊如何使用”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。