Python实现base64编码

作者:springsnow 时间:2023-10-01 02:34:50 

Base64是一种用64个字符来表示任意二进制数据的方法。

用记事本打开exejpgpdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法。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

标签:Python,base64,编码
0
投稿

猜你喜欢

  • 使用 Python 处理3万多条数据只要几秒钟

    2023-08-03 15:21:06
  • 如何使用pandas读取txt文件中指定的列(有无标题)

    2022-04-25 15:30:18
  • Python快速查找list中相同部分的方法

    2021-01-28 17:26:00
  • 在CentOS上配置Nginx+Gunicorn+Python+Flask环境的教程

    2021-09-04 07:31:23
  • Python连接MySQL并使用fetchall()方法过滤特殊字符

    2024-01-23 07:35:36
  • python得到电脑的开机时间方法

    2021-01-05 08:00:05
  • Tornado高并发处理方法实例代码

    2022-10-13 15:30:07
  • MySQL 字符串模式匹配 扩展正则表达式模式匹配

    2024-01-20 14:47:41
  • 关于点击区域

    2009-07-24 13:08:00
  • python使用pyaudio录音和格式转化方式

    2023-11-07 19:30:03
  • FSO如何一行行地读取文件?

    2010-06-10 18:40:00
  • Django+Bootstrap实现计算器的示例代码

    2022-08-10 02:42:01
  • Python操作Excel神器openpyxl使用教程(超详细!)

    2021-02-28 21:58:35
  • laravel学习教程之关联模型

    2023-06-11 19:46:55
  • 教你使用一行Python代码玩遍童年的小游戏

    2021-05-15 10:14:00
  • Python面向对象编程之类的运算

    2021-06-07 18:39:17
  • mssql SA帐号的改名和删除

    2024-01-19 14:28:44
  • python浪漫表白源码

    2023-11-22 05:16:39
  • Django接受前端数据的几种方法总结

    2021-11-26 23:32:53
  • 从git仓库中删除.idea文件夹的小妙招

    2022-10-29 04:12:00
  • asp之家 网络编程 m.aspxhome.com