[python库] base64库的基本使用

news/2024/11/28 22:44:09/

1. base64是什么

base64是一种二进制到文本格式的编码方式。具体来说就是将byte数组编码为字符串的方法,而编码出来的字符串只包含ASCII基础字符。
虽然说base64是一种编码方式,但是它并不推荐作为常规的加密算法使用,因为该算法的加解密算法已经众所周知。
**Base64真正的作用是为了解决各系统以及传输协议中二进制不兼容的问题。**比如base64的使用场景比较典型的就是电子邮件,因为电子邮件中的附件中往往有不可见的字符。

2.base64模块的使用

图解:
在这里插入图片描述

  • 首先要引入包
import base64
  • base64编码
s = "test".encode("utf-8") # 在python3中字符都是unicode编码,所以在base64编码前要先转码utf-8
=> b'test'
code = base64.b64encode(s).decode("utf-8")
=> 'dGVzdA==' # 后面的=号是什么呢

Base64编码要求把3个8位字节(38=24)转化为4个6位的字节(46=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用’=‘,因此编码后输出的文本末尾可能会出现1或2个’='。

  • base64解码
s = "test".encode("utf-8")
=> b'test'
bs64 = base64.b64encode(s)
=> b'dGVzdA=='
de_base64 = base64.b64decode(bs64) # base64解码需传入 base64格式数据,解码完成的数据是二进制的,需转码才能可视化读取
=> b'test'
de_base64.decoode("utf-8")
=> "test"

PS: 其余b16、a85等等函数,只是编码格式不同,使用方法和上面一致
具体详见https://docs.python.org/zh-cn/3/library/base64.html

Reference:

https://blog.csdn.net/qq_44159028/article/details/114669192
https://docs.python.org/zh-cn/3/library/base64.html


http://www.ppmy.cn/news/141101.html

相关文章

ARM Cortex-A8 介绍

基本介绍:Cortex-A8第一款基于ARMv7构架的应用处理器。Cortex-A8是ARM公司有史以来性能最强劲的一款处理器,主频为600MHz到1GHz。A8可以满足各种移动设备的需求,其功耗低于300毫瓦,而性能却高达2000MIPS。Cortex-A8是ARM公司第一款…

数据结构作业10复习

2-1 设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为(2分) A.13 B.33 C.18 D.40 啊这考的线代吧,对称矩阵转为数…

如何检测Android应用是32位还是64位

目录 1、前言 2、检测App 3.应用是否包含 64 位库? 1、前言 从Android 4.4宣布支持64位系统以来,各终端方案厂商逐步推出了各自的64位soc解决方案。Google为了兼容之前32位系统的应用,在64位系统上也实现了对32位应用的支持。那么问题就来…

数据结构笔记5数组

数据结构笔记5数组 前言 数据结构笔记4串 写一下数组的笔记。 思维框架图 习题 选择题 \7. 设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间&…

如何选购自己满意的主板(建议观看)

主板是电脑的核心组件之一,其作用就像人的“身躯”一样,用于连接CPU,内存,硬盘,显卡和光驱等硬件。因此我们选择一个合适的主板非常重要。 一:主板芯片组芯片组是主板的核心部件,其型号直接影响…

usb3.0 ssd 测试软件,板载性能:SATA3及USB3.0接口测试

●板载性能:SATA3及USB3.0接口测试 A85芯片组的原生SATA3接口史无前例的提升至8个,这对于对硬盘速度有着苛刻要求的用户有着非凡的意义。目前,只有A85和A75芯片组采用了全SATA3的SATA接口配置。尽管其它芯片组有第三方桥接芯片所支持的SATA3接口&#xf…

安装wsl2以及迁移镜像至d盘

1、查看本地wsl版本号 C:\Users\jiangcheng> wsl -v -l WSL 版本: 1.2.5.0 内核版本: 5.15.90.1 WSLg 版本: 1.0.51 MSRDC 版本: 1.2.3770 Direct3D 版本: 1.608.2-61064218 DXCore 版本: 10.0.25131.1…

基于轻量级YOLOv5n/s/m三款模型开发构建基于无人机视角的高空红外目标检测识别分析系统,对比测试分析性能

有关于无人机目标检测和红外场景下的目标检测的项目在我之前的文章中都有实践经历了,但是将无人机和红外场景结合的目标检测项目还是很少的,本文的核心想法就是基于高空无人机场景开发构建目标检测系统。 前面相关博文如下,感兴趣的话可以自…