Python base64编码解码

base64 加密错误

错误信息:

TypeError: a bytes-like object is required, not 'str'

base64.b64encode()方法的参数必须是一个 bytes-like object类型

str <–> bytes

  • str --> bytes
s = 'abcd'

s = bytes(s, encoding='utf-8')
# 或者是
s = str.encode(s, 'utf-8')
# 或者是
s = s.encode('utf-8')
# 输出的结果都是一样的
print(s) # b'abcd'
  • bytes --> str
b = b'abcd'

b = str(b, encoding='utf-8')
# 或者是
b = bytes.decode(b) # encoding 默认是 'utf-8
# 或者是
b = b.decode()      # encoding 默认是 'utf-8

base64 加密解密

s = 'abcd'
# str 类型编码成 bytes 类型
b_s = s.encode('utf-8')
print(b_s)      # b'abcd'
# base64 加密
m_s = base64.b64encode(b_s)
print(m_s)      # b'YWJjZA=='
# bytes 类型解码成 str 类型
s_s = str(m_s, 'utf-8')
print(s_s)      # YWJjZA==

小结

  • str``````bytes是不同的数据类型, 可以使用编码解码进行类型转换

  • base64_encode($pass) 是一种加密算法, 只是对某一类型的数据进行加密

参考文章

https://blog.csdn.net/linghugoolge/article/details/84103916

https://www.cnblogs.com/sea-stream/p/11518161.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值