日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Python中模塊的使用--binascii模塊用法_python

作者:范翻番樊 ? 更新時間: 2022-07-07 編程語言

binascii模塊用法

binascii模塊用于在二進制和ASCII之間轉換

>> import binascii
# 將binary 轉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 的每個字節都轉換為相應的2位十六進制表示。因此返回的字節對象的長度是 data 的長度的兩倍。
# 輸出 b'68656c6c6f20776f726c64'
>> binascii.unhexlify(b'68656c6c6f20776f726c64') ? ? # 注解: 同a2b_hex(), 返回由十六進制字符串 hexstr 表示的二進制數據。 hexstr 必須包含偶數個十六進制數字(可以是大寫或小寫),否則會引發 Error 異常。
# 輸出b'hello world'

binascii模塊和進制轉換筆記

廢話少說,直接上代碼:

# !/usr/bin/env python
# -*- coding:utf-8 -*-
# author:大西瓜
?
# 導入binascii模塊
import binascii
?
a = b'BE27E8FFFF010203'
# 先把b'BE27E8FFFF010203'轉換成二進制數據然后在用十六進制表示
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內置函數

  • hex():十進制轉十六進制
#把10進制轉整形換成16進制
>>> hex(88)
'0x58'
#把浮點型轉換成16進制
>>> 1.23.hex()
'0x1.3ae147ae147aep+0'
#內置函數hex和binascii.hexlify()的區別就在于,
#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():把十進制整形轉換成二進制字符
#把十進制整型轉換成二進制
>>> bin(88)
'0b1011000'
>>> bin(33)
'0b100001'
oct():把十進制轉換成八進制字符
#把十進制轉換成八進制
>>> oct(500)
'0764'
>>> oct(488)
'0750'
  • chr():把一個整形轉換成ASCII碼表中對應的單個字符
#把一個整形轉換成ASCII碼表中對應的單個字符
>>> chr(98)
'b'
>>> chr(97)
'a'
ord():和chr相反,把ASCII碼表中的字符轉換成對應的整形
>>> ord('b')
98
>>> ord('c')
99

原文鏈接:https://blog.csdn.net/u011361138/article/details/82428403

欄目分類
最近更新