Python中模塊的使用--binascii模塊用法
更新時(shí)間:2022年05月13日 09:49:41 作者:范翻番樊
這篇文章主要介紹了Python中模塊的使用--binascii模塊用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
binascii模塊用法
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ì)象的長(zhǎng)度是 data 的長(zhǎng)度的兩倍。 # 輸出 b'68656c6c6f20776f726c64' >> binascii.unhexlify(b'68656c6c6f20776f726c64') ? ? # 注解: 同a2b_hex(), 返回由十六進(jìn)制字符串 hexstr 表示的二進(jìn)制數(shù)據(jù)。 hexstr 必須包含偶數(shù)個(gè)十六進(jìn)制數(shù)字(可以是大寫(xiě)或小寫(xiě)),否則會(huì)引發(fā) Error 異常。 # 輸出b'hello world'
binascii模塊和進(jìn)制轉(zhuǎn)換筆記
廢話少說(shuō),直接上代碼:
# !/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))
Python內(nèi)置函數(shù)
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
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
對(duì)numpy Array [: ,] 的取值方法詳解
今天小編就為大家分享一篇對(duì)numpy Array [: ,] 的取值方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07Python django框架輸入漢字,數(shù)字,字符生成二維碼實(shí)現(xiàn)詳解
這篇文章主要介紹了Python django框架輸入漢字,數(shù)字,字符轉(zhuǎn)成二維碼實(shí)現(xiàn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09Python模塊學(xué)習(xí)之struct模塊詳解
這篇文章主要介紹了Python模塊學(xué)習(xí)之struct模塊詳解,該模塊作用是完成Python數(shù)值和C語(yǔ)言結(jié)構(gòu)體的Python字符串形式間的轉(zhuǎn)換,這可以用于處理存儲(chǔ)在文件中或從網(wǎng)絡(luò)連接中存儲(chǔ)的二進(jìn)制數(shù)據(jù),以及其他數(shù)據(jù)源,需要的朋友可以參考下2023-07-07Python聚類(lèi)算法之DBSACN實(shí)例分析
這篇文章主要介紹了Python聚類(lèi)算法之DBSACN,結(jié)合實(shí)例形式詳細(xì)分析了DBSACN算法的原理與具體實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11