Python实现base64编码
作者:springsnow 发布时间:2023-10-01 02:34:50
Base64是一种用64个字符来表示任意二进制数据的方法。
用记事本打开exe
、jpg
、pdf
这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法。Base64是一种最常见的二进制编码方法。
Base64编码会把3字节的二进制数据编码为4字节的文本数据,长度增加33%,好处是编码后的文本数据可以在邮件正文、网页等直接显示。
Python内置的base64
可以直接进行base64的编解码:
import base64
base64.b64encode(b'binary\x00string') # b'YmluYXJ5AHN0cmluZw=='
base64.b64decode(b'YmluYXJ5AHN0cmluZw==') # b'binary\x00string'
由于标准的Base64编码后可能出现字符+
和/
,在URL中就不能直接作为参数,所以又有一种"url safe"的base64编码,其实就是把字符+
和/
分别变成-
和_
:
base64.b64encode(b'i\xb7\x1d\xfb\xef\xff') # b'abcd++//'
base64.urlsafe_b64encode(b'i\xb7\x1d\xfb\xef\xff') # b'abcd--__'
base64.urlsafe_b64decode('abcd--__') # b'i\xb7\x1d\xfb\xef\xff'
Base64是一种通过查表的编码方法,不能用于加密,即使使用自定义的编码表也不行。
Base64适用于小段内容的编码,比如数字证书签名、Cookie的内容等。
总结:Base64是一种任意二进制到文本字符串的编码方法,常用于在URL、Cookie、网页中传输少量二进制数。
PS:这里再为大家提供几款比较实用的base64在线编码解码工具供大家使用:
BASE64编码解码工具:http://tools.jb51.net/transcoding/base64
在线图片转换BASE64工具:http://tools.jb51.net/transcoding/img2base64
Base64在线编码解码 UTF-8版:http://tools.jb51.net/tools/base64_decode-utf8.php
Base64在线编码解码 gb2312版:http://tools.jb51.net/tools/base64_decode-gb2312.php
来源:https://www.cnblogs.com/springsnow/p/12566036.html


猜你喜欢
- 一、react-reduxreact-redux依赖于redux工作。 运行安装命令:npm i react-redux:使用: 将Prov
- 前言Django处理json也是一把好手,有时候在工作中各个部门都会提供自己的相关接口,但是信息也只是单方的信息,这时候需要运维将各个部门的
- 1.get_dummies()pandas.get_dummies(data, prefix=None, prefix_sep='_
- 以下是个人在学习beautifulSoup过程中的一些总结,目前我在使用爬虫数据时使用的方法的是:先用find_all()找出需要内容所在的
- 前言:本篇博客要采集的站点:【看历史,通天下-历史剧网】目标数据是该站点下的热门历史事件,列表页分页规则如下所示:http://www.li
- 递归是一种较为抽象的数学逻辑,可以简单的理解为「程序调用自身的算法」。 * 对递归的解释是:递归(英语:Recursion),又译为递回,
- 连接MySQL时出现1449与1045异常解决办法mysql 1449 : The user specified as a definer
- 问题使用MybatisPlus 连接 SqlServer 数据库 ,在分页的时候发生了如下的报错,sql语句和报错如下:Cause: com
- 本文实例讲述了python实现矩阵乘法的方法。分享给大家供大家参考。具体实现方法如下:def matrixMul(A, B):
- collections.namedtuple用于构造带字段名的元组。对应类型为typing.NamedTuple(可用作超类)。具名元组na
- 前言正则表达式是什么应该不用过多介绍,每位程序员应该都知道,正则表达式描述的是一种规则,符合这种限定规则的字符串我们认为它某种满足条件的,是
- 对于添加一个文件的路径我用的第一个方法就是sys.path.append()博主比较懒,就直接截图了啊对于上级文件路径和再上一级的路径可以直
- 作为面向对象编程中实现控制反转(Inversion of Control,下文称IoC)最常见的技术手段之一,依赖注入(Dependency
- Python 常用 PEP8 编码规范代码布局缩进每级缩进用4个空格。括号中使用垂直隐式缩进或使用悬挂缩进。EXAMPLE:# (垂直隐式缩
- 1、登陆mysql数据库 mysql -u root -p查看user表mysql> use mysql;Database chang
- 前言接着上一篇的故事工厂模式继续,手机要出厂,显然光一个手机肯定是不行的,还需要包装盒、充电器等等东西。我们按照上一篇提到的工厂模式,去建立
- Anaconda 本质上是一个软件发行版,包含了 conda、Python 等 180 多个科学包及其依赖项。因为包含了大量的科学包,Ana
- /1 前言/最近酒店被曝出隐藏摄像头的事情屡见不鲜,搞得大家人心惶惶,有图为证,如下图所示。今天教大家一下如何用python分析出酒店里的针
- 下文通过图文并茂的方式给大家介绍mssqlserver数据库导出到另外一个数据库的方法,具体详情请看下文。1.准备源数据库,找到想要导出的数
- 如下所示:#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2018/7/13 1