1. 什么是base64

base64是一种将不可见字符转换为可见字符的编码方式。

2. 如何使用

最简单的使用方式import base64

if __name__ == '__main__':

s = 'plain text'

# base64编码

t = base64.b64encode(s.encode('UTF-8'))

print(t)

# base64解码

t = base64.b64decode(t)

print(t)

# base32编码

t = base64.b32encode(s.encode('UTF-8'))

print(t)

# base32解码

t = base64.b32decode(t)

print(t)

# base16编码

t = base64.b16encode(s.encode('UTF-8'))

print(t)

# base16解码

t = base64.b16decode(t)

print(t)

base64.bxxencode接受一个字节数组bytes用于加密,返回一个bytes存储加密之后的内容。

base64.bxxdecode接受一个存放着密文的bytes,返回一个bytes存放着解密后的内容。

对URL进行编码

编码之后的+和/在请求中传输的时候可能会出问题,使用urlsafe_b64encode方法会自动将:+映射为-

/映射为_

这样加密之后的就都是在网络上传输安全的了。import base64

if __name__ == '__main__':

s = 'hello, world'

t = base64.urlsafe_b64encode(s.encode('UTF-8'))

print(t)

t = base64.urlsafe_b64decode(t)

print(t)

使用urlsafe_b64encode相当于是base64.b64encode(s.encode('UTF-8'), b'-_'),第二个参数指定了使用哪两个字符来替换掉+和/:import base64

if __name__ == '__main__':

s = 'hello, world'

t = base64.b64encode(s.encode('UTF-8'), b'-_')

print(t)

t = base64.b64decode(t, b'-_')

print(t)

直接对流进行编码

加密和解密的时候可以直接传入一个流进去,base64模块加密方法会从输入流中读取数据进行加密,同时将结果写到输出流中。import base64

from io import BytesIO

if __name__ == '__main__':

input_buff = BytesIO()

output_buff = BytesIO()

input_buff.write(b'hello, world')

input_buff.seek(0)

base64.encode(input_buff, output_buff)

s = output_buff.getvalue()

print(s)

参考资料:

python怎么使用base64_python常用库之base64相关推荐

  1. Python处理时空数据常用库案例及练习

    本文完整代码.数据集下载.在线运行可以访问这个链接:时空数据Python常用包案例 配套习题与答案可以访问这个链接:时空数据Python常用包案例 - 实操练习题(附答案) Python处理时空数据会 ...

  2. Python快速编程入门#学习笔记02# |第十章 :Python计算生态与常用库(附.小猴子接香蕉、双人乒乓球小游戏源码)

    全文目录 学习目标 1. Python计算生态概述 1.1 Python计算生态概述 2. Python生态库的构建与发布 2.1 模块的构建与使用 * 2.1.1第三方库/模块导入的格式 2.2 包 ...

  3. Python的各大常用库汇总

    Python常用库 Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主要用于在终端或浏览器端 ...

  4. python常用库之base64

    1. 什么是base64 base64是一种将不可见字符转换为可见字符的编码方式. 2. 如何使用 最简单的使用方式 import base64if __name__ == '__main__':s ...

  5. python optimize_Python的五大常用库——numpy,pandas,matplotlib等

    Numpy Numpy 是python科学计算的基础包,本书大部分内容都基于numpy以及构建于其上的库.其功能有: 快速高效的多维数组对象ndarray 用于对数组执行元素级计算以及直接对数组执行数 ...

  6. Python 网络爬虫的常用库汇总

    爬虫的编程语言有不少,但 Python 绝对是其中的主流之一.下面就为大家介绍下 Python 在编写网络爬虫常常用到的一些库. 请求库:实现 HTTP 请求操作 **urllib:**一系列用于操作 ...

  7. python学习笔记(常用库)

    一.numpy 二.pandas 2.3 series结构 基本操作 import pandas as pdfandango = pd.read_csv('E:\\唐宇迪机器学习\Python库代码( ...

  8. Python 系统运维常用库

    1.psutil 是一个跨平台库 (http://code.google.com/p/psutil/)能够实现获取系统运行的进程和系统利用率 ( 内存,CPU, 磁盘,网络等),主要用于系统监控,分析 ...

  9. Python数据挖掘与分析常用库官方文档

    Pandas 强大.灵活的数据分析和探索工具:http://pandas.pydata.org/pandas-docs/stable/index.html Keras 深度学习库,用于建立神经网络以及 ...

最新文章

  1. PCL:k-d tree 1 讲解
  2. 这些建议需要竞赛组委会酌情考虑
  3. 对人脑如何控制手的新认识:我们为什么削水果时,拿的是刀柄而不会拿刀刃?...
  4. PHP读取远程文件并保存
  5. 华为吴晟:分布式监控系统的设计与实现
  6. pb的webserver增加的方法发布后没有显示_震惊!!!Diboot 2.0.5 发布,让开发工作又快又爽...
  7. Redis数据结构——简单动态字符串-SDS
  8. 英特尔“宠坏”程序员!
  9. 数据库之互联网常用架构方案一览
  10. [转]bootstrapValidator.js 做表单验证
  11. 基于单片机的贪吃蛇游戏设计仿真
  12. 第一章 概率与统计介绍--机器学习数学基础
  13. 数字图像处理基础笔记
  14. 中国移动 云MAS平台HTTP2.1(HTTP版)发送普通短信
  15. kali 控制安卓手机
  16. 鲁宾逊非标准微积分与国内高等数学“秀肌肉”
  17. 智能运维之告警聚合技术介绍
  18. 自回归滞后模型进行多变量时间序列预测
  19. 大数据第一章(Linux环境部署JDKMysql)
  20. python的range函数用法和实例

热门文章

  1. mysql 前沿表设计_史上最简单MySQL教程详解(基础篇)之表的维护和改造
  2. 如何挖掘大数据的价值
  3. 如何使用大数据算法改善有效链接
  4. 基于MUI框架的使用HTML5+实现的二维码扫描功能
  5. Hive(五)——查询
  6. c语言 搜索彩票期数,根据福利彩票的规则用c++编写一个买彩票开奖的程序,求程序代码,谢谢...
  7. elmentui的短信验证界面_[javascript] elementui下login登录页界面和js验证逻辑
  8. mybatis mysql 方言_mybatis-MyBatits执行效率问题
  9. html清除两端浮动,HTML中如何实现浮动与清除浮动
  10. python文件和数据的格式化_Python文件和数据格式化(教程)