Python3---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

猜你喜欢

转载自blog.csdn.net/qq562029186/article/details/82627099
今日推荐