Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python3内置模块之base64编解码方法小结

Python3内置模块之base64编解码方法小结

作者头像
一墨编程学习
发布于 2019-06-15 06:27:48
发布于 2019-06-15 06:27:48
1.7K00
代码可运行
举报
运行总次数:0
代码可运行

Python3内置模块之base64编解码方法小结

概述

Base64 是网络上最常见的用于传输 8Bit 字节码的编码方式之一,Base64 就是一种基于 64 个可打印字符来表示二进制数据的方法。可查看 RFC2045 ~ RFC2049,上面有 MIME 的详细规范。Base64 编码是从二进制到字符的过程,可用于在 HTTP 环境下传递较长的标识信息。比如使二进制数据可以作为电子邮件的内容正确地发送,用作 URL 的一部分,或者作为 HTTP POST 请求的一部分. 即 base64 其实不能归属密码领域,作用也不是用于加密,它是一种编码算法,但是具有不可读性,所以可以说是防君子不防小人。

方法

概述

b64encode(s, altchars=None)

对 bytes-like object s 进行 Base64 编码,并返回编码后的 bytes

b64decode(s, altchars=None, validate=False)

解码 Base64 编码过的 bytes-like object 或 ASCII 字符串 s 并返回解码过的 bytes

standard_b64encode(s)

编码 bytes-like object s,使用标准 Base64 字母表并返回编码过的 bytes

standard_b64decode(s)

解码 bytes-like object 或 ASCII 字符串 s,使用标准 Base64 字母表并返回编码过的 bytes

urlsafe_b64encode(s)

编码 bytes-like object s,使用 URL 与文件系统安全的字母表,使用 - 以及 _ 代替标准 Base64 字母表中的 +和 /,返回编码过的 bytes,结果中可能包含 =

urlsafe_b64decode(s)

解码 bytes-like object 或 ASCII 字符串 s,使用 URL 与文件系统安全的字母表,使用 - 以及 _ 代替标准 Base64 字母表中的 + 和 /,返回解码过的 bytes

...

...

简单使用

我们最常用的两个方法即b64encodeb64decode-Base64 编码和解码,其中 b64encode 的参数 s 的类型必须是字节包(bytes)。b64decode 的参数 s 可以是字节包(bytes),也可以是字符串(str)。

Base64 编码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
S = b'I like Python'
e64 = base64.b64encode(S)
print(e64)

示例结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
b'SSBsaWtlIFB5dGhvbg=='
Base64 解码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
S = 'SSBsaWtlIFB5dGhvbg=='
d64 = base64.b64decode(S)
print(d64)

示例结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
b'I like Python'
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.06.11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python模块之base64
base64模块提供了在二进制数据和可打印ASCII字符间编解码的功能,包括RFC3548中定义的Base16, Base32, Base64, Ascii85, Base85等编码。
py3study
2020/01/06
8650
Python 标准类库-因特网数据处理之Base64数据编码
该模块提供将二进制数据编码为可打印ASCII字符并将这种编码解码回二进制数据的功能。它为RFC 3548中指定的编码提供编码和解码功能。定义了Base16、Base32和Base64算法,以及事实上的标准Ascii85和Base85编码。
授客
2023/05/29
4970
Python之Base64加解密
Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2^6=64,所以每6个比特为一个单元,对应某个可打印字符。
Wu_Candy
2022/07/04
1.6K0
Python之Base64加解密
【Python系列】 Base64 编码:使用`base64`模块
在计算机编程中,Base64 编码是一种常用的编码方法,用于将二进制数据转换为 ASCII 字符串。这种编码方式广泛应用于数据传输和存储,特别是在需要在文本格式中处理二进制数据的场景中。Python 提供了一个内置的base64模块,使得将bytes对象转换为 Base64 编码的字符串变得非常简单。
kwan的解忧杂货铺
2024/11/26
3130
Python Base64模块的使用
64个字符: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
Python碎片公众号
2021/02/26
1.3K0
Python Base64模块的使用
Python标准库base64用法简介
base64模块提供了大量函数用来把二进制数据编码为可打印的ASCII字符,以及将其解码为二进制数据。提供了RFC3548中Base16、Base32、Base64以及事实标准Ascii85和Base85编码与解码算法的实现。 RFC3548编码规则适合对二进制数据进行编码以使其可以通过email安全传输,作为URL的一部分,或者包含在HTTP POST请求中,编码算法与uuencode程序并不一样。该模块提供了两个接口,支持将字节串对象编码为ASCII字节,以及进行相反的解码,支持RFC3548中定义的全
Python小屋屋主
2018/04/17
7.2K1
Java 8中的Base64编码和解码
Java 8会因为将lambdas,流,新的日期/时间模型和Nashorn JavaScript引擎引入Java而被记住。有些人还会记得Java 8,因为它引入了各种小但有用的功能,例如Base64 API。什么是Base64以及如何使用此API?这篇文章回答了这些问题。
银河1号
2019/04/11
5.7K1
了不起的Base64
在我们项目开发中,Base64想必大家都不会很陌生,Base64是将「二进制数据」转换为文本的一种优雅方式,使存储和传输变得容易。但是,作为一个合格的程序员,我们应该有一种打破砂锅问到底的求助欲望。
前端柒八九
2023/11/08
6530
了不起的Base64
python内置模块之base64
用记事本打开exe、jpg、pdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法。Base64是一种最常见的二进制编码方法。
菲宇
2019/06/13
9810
python内置模块之base64
一篇文章彻底弄懂Base64编码原理
----------------------------转载部分start-----------------------------
明明如月学长
2021/08/27
6K1
什么是Base64编码?有什么用?编解码如何实现?
本次为各位小伙伴带来的是一种网络上最常见的用于传输8Bit字节码的编码方式之一,base64编码,基于C语言实现。
用户8913398
2021/08/16
11.7K0
什么是Base64编码?有什么用?编解码如何实现?
python3字符串base64编解码
其次,python3中字符都为unicode编码,而b64encode函数的参数为byte类型,所以必须先转码。
用户7886150
2021/01/16
6.6K0
netty系列之:java中的base64编码器
什么是Base64编码呢?在回答这个问题之前,我们需要了解一下计算机中文件的分类,对于计算机来说文件可以分为两类,一类是文本文件,一类是二进制文件。
程序那些事
2022/04/01
8540
Android 逆向 | 不是加密的 Base64
Base 系列还有 16/32/62/64/85/36/58/91/92 等,分别表示用不同个数的可打印字符表示二进制数据
咸鱼学Python
2020/12/02
1.1K0
Android 逆向 | 不是加密的 Base64
Dart 知识集锦 | Base64 编解码
在编程的世界中,数据的种类可谓是缤纷多彩。但是他们有本质的共性: 都是二进制的数据。在数据传输过程中,字节数组有时并不是很方便,比如网络传输。 Base64 包括小写字母a-z、大写字母A-Z、数字0-9、符号"+"、"/"一共64个字符的字符集。它可以将 字节数组 进行编码进行传输。Dart 语言的 convert 包中,有 Base64Codec 支持 Base64 编解码,下面一起来看一下其使用方式:
张风捷特烈
2024/06/15
3210
Dart 知识集锦 |  Base64 编解码
关于编码解码问题,我给大家总结好了,请查收
将一个十六进制字符串解码成一个字节字符串或者将一个字节字符串编码成 一个十六进制字符串。
Python知识大全
2020/02/21
8460
python3下常用编解码与加解密
Python3相对于Python2的一大改变就是,对默认字符类型进行了修改。Python2中定义字符串默认为二进制字符串,强制加前缀u的才是unicode字符串;而Python3中字符串默认为unicode,强制加前缀b的才是二进制字符串。(也就是刚好反过来了)
上帝De助手
2019/09/18
1.6K0
2018-12-19 base58 与 base64 的区别
base58和base64一样是一种二进制转可视字符串的算法,主要用来转换大整数值。区别是,转换出来的字符串,去除了几个看起来会产生歧义的字符,如 0 (零), O (大写字母O), I (大写的字母i) and l (小写的字母L) ,和几个影响双击选择的字符,如/, +。结果字符集正好58个字符(包括9个数字,24个大写字母,25个小写字母)。不同的应用实现中,base58 最后查询的字母表可能不同,所以没有具体的标准。下面是几个应用中的字母表
Albert陈凯
2018/12/27
1.4K0
【密码学】Base64 编码 ( Base64 简介 | Base64 编码原理 | 最后编码组字节不足时补位 ‘=‘ 符号 | Base64 编码实现参考 )
Base64 不是加密算法 , 是一种 可读性算法 , 其目的不是用于保护数据 , 其目的是为了可读性 ;
韩曙亮
2023/03/29
3.7K0
【密码学】Base64 编码 ( Base64 简介 | Base64 编码原理 | 最后编码组字节不足时补位 ‘=‘ 符号 | Base64 编码实现参考 )
Base64 之后,你的代码会增加多少
Base64 是一种编码算法,允许你传输任何字符,而不只是 ascii 码。你可以用 Base64 传输任何数据,包括图片, 表情,视频等。从技术上讲,可以说它将 8 位字节转换为 6 位字节。
lucifer210
2019/08/21
2.7K0
Base64 之后,你的代码会增加多少
相关推荐
python模块之base64
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验