Python中模塊的使用--binascii模塊用法
更新時間:2022年05月13日 09:49:41 作者:范翻番樊
這篇文章主要介紹了Python中模塊的使用--binascii模塊用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
binascii模塊用法
binascii模塊用于在二進制和ASCII之間轉(zhuǎn)換
>> import binascii # 將binary 轉(zhuǎn)ascii并用十六進制表示 >> 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(), 返回二進制 data 的十六進制表示。 data 的每個字節(jié)都轉(zhuǎn)換為相應的2位十六進制表示。因此返回的字節(jié)對象的長度是 data 的長度的兩倍。 # 輸出 b'68656c6c6f20776f726c64' >> binascii.unhexlify(b'68656c6c6f20776f726c64') ? ? # 注解: 同a2b_hex(), 返回由十六進制字符串 hexstr 表示的二進制數(shù)據(jù)。 hexstr 必須包含偶數(shù)個十六進制數(shù)字(可以是大寫或小寫),否則會引發(fā) Error 異常。 # 輸出b'hello world'
binascii模塊和進制轉(zhuǎn)換筆記
廢話少說,直接上代碼:
# !/usr/bin/env python # -*- coding:utf-8 -*- # author:大西瓜 ? # 導入binascii模塊 import binascii ? a = b'BE27E8FFFF010203' # 先把b'BE27E8FFFF010203'轉(zhuǎn)換成二進制數(shù)據(jù)然后在用十六進制表示 b = binascii.b2a_hex(a) # 打印出:b'42453237453846464646303130323033',例如B對應ascii碼42,E對應ascii碼45 print(b) ? ? # 與b2a_hex相反,打印出:b'BE27E8FFFF010203' print(binascii.a2b_hex(b)) ? ? # 這個功能和b2a_hex()一樣 # 打印出:b'42453237453846464646303130323033',例如B對應ascii碼42,E對應ascii碼45 c = binascii.hexlify(a) print(c) ? # 這個功能和a2b_hex()一樣,打印出:b'BE27E8FFFF010203' print(binascii.unhexlify(c))
Python內(nèi)置函數(shù)
hex():十進制轉(zhuǎn)十六進制
#把10進制轉(zhuǎn)整形換成16進制
>>> hex(88)
'0x58'
#把浮點型轉(zhuǎn)換成16進制
>>> 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():babin():把十進制整形轉(zhuǎn)換成二進制字符
#把十進制整型轉(zhuǎn)換成二進制 >>> bin(88) '0b1011000' >>> bin(33) '0b100001' oct():把十進制轉(zhuǎn)換成八進制字符 #把十進制轉(zhuǎn)換成八進制 >>> oct(500) '0764' >>> oct(488) '0750'
chr():把一個整形轉(zhuǎn)換成ASCII碼表中對應的單個字符
#把一個整形轉(zhuǎn)換成ASCII碼表中對應的單個字符
>>> chr(98)
'b'
>>> chr(97)
'a'
ord():和chr相反,把ASCII碼表中的字符轉(zhuǎn)換成對應的整形
>>> ord('b')
98
>>> ord('c')
99以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python數(shù)據(jù)結(jié)構(gòu)之翻轉(zhuǎn)鏈表
這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)之翻轉(zhuǎn)鏈表的相關資料,需要的朋友可以參考下2017-02-02
Python?代替?xftp?從?Linux?服務器下載文件的操作方法
我們經(jīng)常需要從Linux服務器上同步文件,但是xftp等工具都需要注冊了,這里用免費的Python代碼來下載文件,還可以擴展更多的自定義用法,這篇文章主要介紹了Python?代替?xftp?從?Linux?服務器下載文件,需要的朋友可以參考下2024-06-06
python框架django中結(jié)合vue進行前后端分離
本篇將基于Python+Django結(jié)合Vue.js前端框架,為大家介紹如何基于這三者的技術棧來實現(xiàn)一個前端后離的Web開發(fā)項目。文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01

