python3 base64.b64encode_b64decode.py

时间:2024-11-18 17:05:52
"""
模块:python3 base64.b64encode()_b64decode().py
功能:python3 base64 编码、解码。
参考:/yrxns/p/
知识点:
1.base64.b64encode(s, altchars=None)
    使用base64编码类似字节的对象 s,并返回一个字节对象。

    可选 altchars 应该是长度为2的字节串,它为'+'和'/'字符指定另一个字母表。
    这允许应用程序,比如,生成url或文件系统安全base64字符串。

2.base64.b64decode(s, altchars=None, validate=False)
    解码 base64 编码的字节类对象或 ASCII 字符串 s。

    可选的 altchars 必须是一个字节类对象或长度为2的ascii字符串,
    它指定使用的替代字母表,替代'+'和'/'字符。

    返回字节对象。如果s被错误地填充,则会引发 。

    如果 validate 为 false(默认),则在填充检查之前,
    既不在正常的base-64字母表中也不在替代字母表中的字符将被丢弃。
    如果 validate 为 True,则输入中的这些非字母表字符将导致 。
"""
import hashlib
import base64

md5HASHObject = hashlib.md5()
a = 'ok'
(())
b = ()
print("b:", b)
# b: b"DK\xcb:?\xcf\x83\x89)lIF\x7f'\xe1\xd6"
print(f"md5加密结果再进行base64编码:{base64.b64encode(b).decode('utf-8')}")
# md5加密结果再进行base64编码:REvLOj/Pg4kpbElGfyfh1g==

print(base64.b64encode('a'.encode()))
# b'YQ=='
print(base64.b64encode('ab'.encode()))
# b'YWI='
print(base64.b64encode('abc'.encode()))
# b'YWJj'
print(base64.b64decode(b'YWJj').decode())
# abc