温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中的binascii模块如何使用

发布时间:2022-05-13 13:40:03 来源:亿速云 阅读:325 作者:iii 栏目:开发技术

这篇文章主要介绍“Python中的binascii模块如何使用”,在日常操作中,相信很多人在Python中的binascii模块如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中的binascii模块如何使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

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

到此,关于“Python中的binascii模块如何使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI