在GitHub上发现一些很有意思的项目,由于本人作为Python的初学者,编程代码能力相对薄弱,为了加强Python的学习,特此利用前辈们的学习知识成果,自己去亲自实现。
来源:GitHub
Python练手小程序项目地址:https://github.com/Show-Me-the-Code/python
写作日期:2019.11.26
今天练习第0001题,题目如下:
首先介绍下base64,Python自带的标准库。
Base64是一种用64个字符来表示任意二进制数据的方法。
Base64的原理很简单,首先,准备一个包含64个字符的数组:
['A', 'B', 'C', ... 'a', 'b', 'c', ... '0', '1', ... '+', '/']
然后,对二进制数据进行处理,每三个字节一组,一共是3*8=24 bit,然后划分为4组,每组就有6个bit。
这样我们得到4个数字作为索引,然后查表,获得相应的4个字符,就是编码后的字符串。
如果要编码的二进制数据不是3的倍数,最后会剩下1个或2个字节怎么办?Base64用\x00字节在末尾补足后