python base64 模块

本文介绍了Python的base64模块,用于将二进制数据编码为Base64格式。通过base64.b64encode()方法可以将bytes对象编码成Base64的bytes对象,而base64.decodebytes()方法则可以将Base64编码的bytes对象解码回原始二进制数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

base64 是用任意64个字符来表示二进制数据的方法

1. base64.b64encode() # encode the bytes-like object using Base64 and return a bytes object 

import base64 # base64 encoding/decoding uses binascii
with open('./1.jpg','rb') as f:
    content = f.read()
print(type(content))
with open('./1.jpg','rb') as f:
    base64_b = base64.b64encode(f.read()) # encode the bytes-like object using Base64 and return a bytes object(a bytestring of base-64 data)
print(type(base64_b))
print(base64_b)

结果

<class 'bytes'>
<class 'bytes'>
b'/9j/4VBoRXhpZgAASUkqAAgAAAASAA4BAgAgAAAA5gAAAA8BAgAgAAAABgEAABABAgAgAAAAJgEAABIBAwABAAAAAQAAABoBBQABAAAARgEAABsBBQABAAAATgEAACgBAwABAAAAAgAAADEBAgAgAAAAVgEAADIBAgAUAAAAdgEAABMCAwABAAAAAgAAACACBAABAAAAAAAAACECBAABAAAAAAAAACICBAABAAAAAAAAACMCBAABAAAAAAAAACQCBAABAAAAAQAAACUCAgAgAAAAigEAAGmHBAABAAAAqgEAACWIBAABAAAALAMAAEUEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE9QUE8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT1BQTyBBNTltAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAQAAAEgAAAABAAAATWVkaWFUZWsgQ2FtZXJhIEFwcGxpY2F0aW9uCgAAAAAyMDE2OjEyOjE3IDExOjEwOjEyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQCaggUAAQAAANwCAACdggUAAQAAAOQCAAAiiAMAAQAAAAAAAAAniAMAAQAAAEAAAAAAkAcABAAAADAyMjADkAIAFAAAAOwCAAAEkAIAFAAAAAADAAABkQcABAAAAAECAwAEkgoAAQAAABQDAAAHkgMAAQAAAAIAAAAIkgMAAQAAAP8AAAAJkgMAAQAAAAAAAAAKkgUAAQAAABwDAACQkgIAAgAAADk4AACRkgIAAgAAADk4AACSkgIAAgAAADk4AAAAoAcABAAAADAxMDABoAMAAQAAAAEAAAACoAQAAQAAAEAQAAADoAQAAQAAADAMAAAFoAQAAQAAALsEAAACpAMAAQAAAAAAAAADpAMAAQAAAAAAAAAEpAUAAQAAACQDAAAGpAMAAQAAAAAAAAAAAAAAbAcAAEBCDwAWAAAACgAAADIwMTY6MTI6MTcgMTE6MTA6MTIAMjAxNjoxMjoxNyAxMToxMDoxMgAAAAAACgAAAF4BAABkAAAAZAAAAGQAAAAKAAAAAQAEAAAAAgIAAAEAAgACAAAATgAAAAIABQADAAAAqgMAAAMAAgACAAAARQAAAAQABQADAAAAwgMAAAUAAQABAAAAAAAAAAYABQABAAAA2gMAAAcABQADAAAA4gMAABsABwBAAAAA+gMAAB0AAgALAAAAOgQAAAAAAAAeAAAAAQAA

由结果知,在使用base64进行encode后得到的还是bytes类型,但使用的是64个字符的bytes

2. base64.decodebytes() # decode a bytestring of base-64 data into a bytes object

# decode
decode_content = base64.decodebytes(base64_b)
print(type(decode_content))
print(decode_content)

结果

<class 'bytes'>
b'\xff\xd8\xff\xe1PhExif\x00\x00II*\x00\x08\x00\x00\x00\x12\x00\x0e\x01\x02\x00 \x00\x00\x00\xe6\x00\x00\x00\x0f\x01\x02\x00 \x00\x00\x00\x06\x01\x00\x00\x10\x01\x02\x00 \x00\x00\x00&\x01\x00\x00\x12\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00\x1a\x01\x05\x00\x01\x00\x00\x00F\x01\x00\x00\x1b\x01\x05\x00\x01\x00\x00\x00N\x01\x00\x00(\x01\x03\x00\x01\x00\x00\x00\x02\x00\x00\x001\x01\x02\x00 \x00\x00\x00V\x01\x00\x002\x01\x02\x00\x14\x00\x00\x00v\x01\x00\x00\x13\x02\x03\x00\x01\x00\x00\x00\x02\x00\x00\x00 \x02\x04\x00\x01\x00\x00\x00\x00\x00\x00\x00!\x02\x04\x00\x01\x00\x00\x00\x00\x00\x00\x00"\x02\x04\x00\x01\x00\x00\x00\x00\x00\x00\x00#\x02\x04\x00\x01\x00\x00\x00\x00\x00\x00\x00$\x02\x04\x00\x01\x00\x00\x00\x01\x00\x00\x00%\x02\x02\x00 \x00\x00\x00\x8a\x01\x00\x00i\x87\x04\x00\x01\x00\x00\x00\xaa\x01\x00\x00%\x88\x04\x00\x01\x00\x00\

解码后结果是bytes类型,正常的二进制数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值