base64编码

BASE64编码

什么是BASE64编码

BASE64是一种编码方式,通常用于把二进制数据编码为可写的字符形式的数据。这是一种可逆的编码方式。

编码后的数据是一个字符串,其中包含的字符为:A-Z、a-z、0-9、+、/

一共有65个字符:26个大写字母,26个小写字母 ,10个阿拉伯数字 ,+,/,=

(ps:“=”是用来补位的,要把一个字符串凑成4个每6个一组的形式)

BASE64编码能解决什么问题(查找网络所得)

1.可以作为一种简单的”加密“方式,让信息无法被直接读取,且翻译速度快,补位简单,只需要在前面加0到8位

2.一些邮件服务器在早期只支持发送base64编后的字符串,而不支持二进制表示的01串,并且经过base64编码后的结果都是ASCII低128位(ASCII可见码属于0~127,128~255属于不可见字符),这样适合用电子邮件来传送二进制数据

3.对证书来说,特别是根证书,一般都是作Base64编码的,因为它要在网上被许多人下载。电子邮件的附件一般也作Base64编码的,因为一个附件数据往往是有不可见字符的。

4.ascii码的128~255之间的值是不可见字符,而在网络上交换数据时,往往要经过多个路由设备,由于不同的设备对字符的处理方式有一些不同,这样那些不可见字符就有可能被处理错误,这是不利于传输的。所以就先把数据先做一个Base64编码,统统变成可见字符,这样出错的可能性就大降低了。

自己的学号和姓名用BASE64编码和解码(工具真方便)

梁辰鱼~5qKB6L6w6bG8

20201307~MjAyMDEzMDc=

使用Python编程实现BASE64编码和解码

过程比较艰辛,首先我先学了怎么用python编程,我使用了idle来完成。(不知为什么我的pycharm出问题了。。。)之后,我发现无从下手,我不知道怎么去编程序,也不知道写什么代码,在书上也没发现相关内容,我就自己去网上学习,最后也在指导下解决了问题。

代码:

import base64 ——加载base64模块 str='20201307' ——输入要编码的字符串

str=str.encode('utf-8') ——把字符串赋给str用utf-8编码(base64不能直接识别字符串) a=base64.b64encode(str)——把刚才输入的str的编码值赋给a print(a)——打印a b=base64.b64decode(a)——把a(编码后的字符串)解码后的值赋给b print(b)——打印b

以上就是我对该代码的理解


输出内容:

=== RESTART: C:/Users/lenovo/AppData/Local/Programs/Python/Python38/2222/4.py == b'bGN5' b'lcy'

=== RESTART: C:/Users/lenovo/AppData/Local/Programs/Python/Python38/2222/4.py == b'MjAyMDEzMDc=' b'20201307'

 

 

posted @ 2020-10-13 18:12  20201307梁辰鱼  阅读(198)  评论(2编辑  收藏  举报