Python将内容进行base64编码与解码实现
作者:牛奶咖啡13 发布时间:2021-02-19 17:47:42
标签:Python,base64,编码,解码
一、需求说明
需要使用Python实现将内容转为base64编码,解码,方便后续的数据操作。
二、base64简介
Base64是一种二进制到文本的编码方式【是一种基于 64 个可打印字符来表示二进制数据的表示方法(由于 2^6=64,所以每 6 个比特为一个单元,对应某个可打印字符。3 个字节有 24 个比特(3*8),对应于 4 个 Base64 单元,即 3 个字节可由 4 个可打印字符来表示)】;
简单的说Base64是一种将 byte数组编码为字符串的方法,而且编码出的字符串只包含ASCII基础字符(是网络传输 8Bit 字节代码的编码方式之一,是一种基于 64 个可打印字符来表示二进制数据的方法)
Base64使用到的64个字符 | ||
序号 | 字符 | 数目 |
1 | A-Z | 26个 |
2 | a-z | 26个 |
3 | 0-9 | 10个 |
4 | + | 1个 |
5 | / | 1个 |
注意:Base64不是加密算法,仅仅是一种编码方式,并且算法也是公开的,故不能依赖它进行加密。
深入浅出base64编码原理
三、base64编码解码
3.1、Python中base64编码解码
Python中base64编码解码的方法
import base64
#将内容转为base64格式内容
def convertToBase64(info):
try:
tmpBytes=info.encode()
tmpBase64=base64.b64encode(tmpBytes)
return tmpBase64
except Exception as e:
print('异常:',e)
#将base64格式内容转为正常信息
def convertTostring(base64Info):
try:
tmpBytes=base64.b64decode(base64Info)
tmpStr=tmpBytes.decode()
return tmpStr
except Exception as e:
print('异常:',e)
3.2、Python使用示例
#Python编码解码使用示例
#将正常信息转为base64格式内容
tmpStr='这是一个测试信息'
base64Info =base64OPC.convertToBase64(tmpStr)
print('\n',tmpStr,'转为base64内容:',base64Info)
#将base64格式内容转为正常信息
info=base64OPC.convertTostring(base64Info)
print('\n',base64Info,'转为正常信息是:',info)
tmpBase64='W215c3FsXQ0KZGVmYXVsdC1jaGFyYWN0ZXItc2V0PXV0ZjgN'
#tmpBase64='w215c3fsxq0kzgvmyxvsdc1jagfyywn0zxitc2v0pxv0zjgn'
tmp=base64OPC.convertTostring(tmpBase64)
print('\n',tmpBase64,'转为正常信息是:',tmp)
执行结果如下:
来源:https://blog.csdn.net/xiaochenXIHUA/article/details/129204245
0
投稿
猜你喜欢
- import timenow_time = time.time()print(now_time)结果是1594
- 0. 前言无论在工作中,还是学习中,都会出现这样子的需求,对某张表进行了排序(按时间排序也好,其他字段排序也罢),然后获取前x行的数据,由于
- 方法一 通过GridView(简评:方法比较简单,但是只适合生成格式简单的Excel,且无法保留VBA代码),页面无刷新aspx.cs部分u
- 背景简介ImageAI是一个面向计算机视觉编程的Python库,支持最先进的机器学习算法。主要图像预测,物体检测,视频对象检测与跟踪等多个应
- 1.delete不能使自动编号返回为起始值。但是truncate能使自动增长的列的值返回为默认的种子 2.truncate只能一次清空,不能
- bug1无法正常使用cmd或pycharm正常安装,报错截图如下:解决(1): 这种情况下,我们就不能使用cmd或pycharm进
- 如果想读取用 open() 函数打开的文件中的内容,除了可以使用 read() 函数,还可以使用 readline() 和 readline
- 简介HTTP协议规定post提交的数据必须放在消息主体中,但是协议并没有规定必须使用什么编码方式。服务端通过是根据请求头中的Content-
- 前言在上一篇文中,我们介绍了关于Python正则表达式的基础,那么在这一篇文章里,我们将总结一下正则表达式关于捕获的用法。下面话不多说,来看
- 阅读上一章:Chapter 13 为文字指定样式Chapter 14 图片替换随着更多设计师与开发者开始使用标准(特别是CSS),每天都会有
- sort()方法排序列表中的对象,比较使用func(如果给定)。语法以下是sort()方法的语法:list.sort([func
- 本文为大家分享了Python遗传算法解决最大流问题,供大家参考,具体内容如下Generate_matrixdef Generate_matr
- 本文实例讲述了Python类装饰器。分享给大家供大家参考,具体如下:编写类装饰器类装饰器类似于函数装饰器的概念,但它应用于类,它们可以用于管
- “深入认识Python内建类型”这部分的内容会从源码角度为大家介绍Python中各种常用的内建类型。
- 一、如何将列表数据写入文件 ⾸先,我们来看看下⾯这段代码,并思考:这段代码有没有问题,如果有问题的话,要怎么改?li = [
- 最近在工作中,遇到了数据合并、连接的问题,故整理如下,供需要者参考~一、concat:沿着一条轴,将多个对象堆叠到一起concat方法相当于
- 八种获取当前日期的js代码,第一步:把如下代码加入<head>区域中:<SCRIPT language=java
- 一、常量常量是一个简单值的标识符(名字)。如同其名称所暗示的,在脚本执行期间该值不能改变(除了所谓的魔术常量,它们其实不是常量)。常量默认为
- 作者:HelloGitHub-追梦人物 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库博客提供 RSS
- 异步 innerHTMLinnerHTML 插入节点的性能的问题,通常是我们最关注的。在回答这问题时,James Padolsey 给出了他