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

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

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

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

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ì)象的長度是 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'

binascii模塊和進(jìn)制轉(zhuǎn)換筆記

廢話少說,直接上代碼:

# !/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

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

欄目分類
最近更新