好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Python实现base64编码

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

到此这篇关于Python实现base64编码的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。

查看更多关于Python实现base64编码的详细内容...

  阅读:52次