【Python】Base64编码和解码
Base64编码和解码
Base64 不是加密算法,只是一种编码方式,数据从一种形式转换为另一种形式进行传输/存储。Base64 就是一种基于64个可打印字符来表示二进制数据的方法。
Base64要求把每三个8Bit的字节转换为四个6Bit的字节(38 = 46 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。最后,用一个码表来得到我们想要的字符串,这就是 Base64编码。
码表:
索引
|
对应字符
|
索引
|
对应字符
|
索引
|
对应字符
|
索引
|
对应字符
|
0
|
A
|
17
|
R
|
34
|
i
|
51
|
z
|
1
|
B
|
18
|
S
|
35
|
j
|
52
|
0
|
2
|
C
|
19
|
T
|
36
|
k
|
53
|
1
|
3
|
D
|
20
|
U
|
37
|
l
|
54
|
2
|
4
|
E
|
21
|
V
|
38
|
m
|
55
|
3
|
5
|
F
|
22
|
W
|
39
|
n
|
56
|
4
|
6
|
G
|
23
|
X
|
40
|
o
|
57
|
5
|
7
|
H
|
24
|
Y
|
41
|
p
|
58
|
6
|
8
|
I
|
25
|
Z
|
42
|
q
|
59
|
7
|
9
|
J
|
26
|
a
|
43
|
r
|
60
|
8
|
10
|
K
|
27
|
b
|
44
|
s
|
61
|
9
|
11
|
L
|
28
|
c
|
45
|
t
|
62
|
+
|
12
|
M
|
29
|
d
|
46
|
u
|
63
|
/
|
13
|
N
|
30
|
e
|
47
|
v
|
||
14
|
O
|
31
|
f
|
48
|
w
|
||
15
|
P
|
32
|
g
|
49
|
x
|
||
16
|
Q
|
33
|
h
|
50
|
y
|
Python 中集成了base64 模块,可用于对二进制数据进行编码解码操作:
>>> a = "Hello world"
>>> b = base64.encode(a)
Traceback (most recent call last):File "<stdin>", line 1, in <module>
TypeError: encode() missing 1 required positional argument: 'output'
>>>
>>>
>>> b = base64.b64encode(a)
Traceback (most recent call last):File "<stdin>", line 1, in <module>File "/usr/lib/python3.8/base64.py", line 58, in b64encodeencoded = binascii.b2a_base64(s, newline=False)
TypeError: a bytes-like object is required, not 'str'
>>>
>>>
>>>
>>> a = b"Hello world"
>>> b = base64.b64encode(a)
>>> b
b'SGVsbG8gd29ybGQ='
>>> c = base64.b64decode(b)
>>> c
b'Hello world'
>>> d = b.decode('ascii')
>>> d
'SGVsbG8gd29ybGQ='
>>> e = base64.b64decode(d)
>>> e
b'Hello world'
>>>
可以看到使用 base64.b64encode 进行编码时,只能时二进制数据,如果输入时 str 文本,将报错 TypeError。
而使用 base64.b64decode 解码时,字符串和字节床都可以作为输入。
【Python】Base64编码和解码相关推荐
- Python 对图像进行base64编码及解码读取为numpy、opencv、matplot需要的格式
Python 对图像进行base64编码及解码读取为numpy.opencv.matplot需要的格式 1. 效果图 2. 源码 参考 这篇博客将介绍Python如何对图像进行base64编解码及读取 ...
- [转载] python将图片进行base64编码, 解码
参考链接: 在Python中编码和解码Base64字符串 一.将图片进行base64编码 import base64 img_path = 'D:xxx/file/img/juwan.jpg' wit ...
- 【Python】base64模块对图片进行base64编码和解码
图片的base64编码就是可以将一副图片数据编码成一串字符串,使用该字符串代替图像地址. 这样做有什么意义呢?我们知道,我们所看到的网页上的每一个图片,都是需要消耗一个 http 请求下载而来的. 没 ...
- Python base64编码
Python base64编码 1.bytes.decode() decode()方法语法: bytes.decode(encoding="utf-8", errors=" ...
- js php base64,JavaScript实现Base64编码与解码的代码详解
本篇文章给大家分享的是jJavaScript实现Base64编码与解码的代码详解,内容挺不错的,希望可以帮助到有需要的朋友 一.加密解密方法使用//1.加密 var str = '124中文内容'; ...
- Base64编码和解码
Base64编码和解码 DES加密后密文长度是8个整数倍 加密后比明文长度变长,所以编码表找不到对应字符,乱码 使用Base64编码和解密:从Apache现在 1.加密后密文使用Base64编码 2. ...
- java解码base64的png图片_使用PHP对图片进行base64编码和解码(png、jpg,声音、视频)...
为什么要对图片base64编码 base64是网络上最常见的传输8Bit字节代码的编码方式之一.base64主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输.由于一些二进制字符在传输 ...
- mysql base64 乱码_PHP base64编码后解码乱码的解决办法
在用PHP做东西的时候发现了一个问题,可以简单的归结为乱码的问题,但是这个问题不是函数本身造成的.来看看罪魁祸首是谁. 嫌疑人:base64_encode 和 base64_decode 罪行:我写了 ...
- android Java BASE64编码和解码二:图片的编码和解码
1.准备工作 (1)在项目中集成 Base64 代码,集成方法见第一篇博文:android Java BASE64编码和解码一:基础 (2)添加 ImgHelper 工具类 package com.a ...
- Linux上的js解码,使用JavaScript实现Base64编码与解码
我们知道,浏览器的window对象提供有window.atob()和window.btoa()方法可以对字符串进行Base64编码和解码. console.log(window.btoa(window ...
最新文章
- XR应用场景骤变,一场波及5亿人的新探索开始了
- 阅读好书依然是提升自己的高效方法:兼以作者的身份告诉大家如何选择书,以及高效学习的方法...
- 常用机器学习算法原理及推导
- VC程序员常用工具篇
- thinkphp5运行原理_ThinkPHP5.1~5.2全版本远程代码执行高危漏洞预警
- zabbix计算型监控项函数last_zabbix 自定义key类型之计算(Calculated items)-阿里云开发者社区...
- python标准库os的方法listdir_使用python标准库快速修改文件名字
- 一个可以下载Github指定子文件夹的Chrome插件
- 计算机组装与维护推荐教材,计算机组装与维护(全国高等专科教育计算机类规划教材)...
- php中如何滚动文字,HTML_网页HTML代码:滚动文字的制作,制作滚动文字 
通过本章前面 - phpStudy...
- HDU2080 夹角有多大II【数学】
- python怎么读数据库_Python如何读写SQLite数据库
- java 断点跳到注释,给注解打断点的一种方法
- rabbitmq接收不到消息_springboot集成RabbitMQ接收消息及其高级特性
- Servlet-请求匹配,创建Servlet的三种方式,API 1
- JAVA:文本文件读写使用Reader/Writer,二进制文件使用InputStream/OutputStream
- sufficient statistic
- 网络配置_Linux CentOS怎么配置网络
- VASP学习记录与总结
- 计算机技术在生物学中的应用鲁东大学,生物科学与技术学院
热门文章
- Unity Shader零基础入门4:纹理贴图与法线贴图
- 京津冀地区地貌类型空间分布数据
- grunt,gulp
- 代码评审这点事,元芳你怎么看
- Android Studio 消除Manifest文件中的黄色背景警告
- python三维图像切片成二维_python之画三维图像
- web 前端入坑第一篇:web前端到底是什么?有前途吗
- 百度导航hd android,百度导航hd版-百度导航hd版下载-安卓手机4.5.1APP免费软件-最笨下载...
- 台式计算机进入安全模式蓝屏,电脑进入安全模式蓝屏怎么办?
- Android使用FFmpeg 解码H264并播放(一)