def fn(s1:str):
basestr=''
s2 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
alphabet = dict(zip(range(64),s2))
bt = s1.encode()
fullbit = bin(int.from_bytes(bt,'big'))
fullbit_length = len(fullbit)-2
fullbit_length += 1 #由于高位的0被bin函数省略了所以此处加上一位
if fullbit_length%6 != 0:
tail_length = 6-(fullbit_length%6)
fullbit = fullbit+str(0)*tail_length
fullbit_length = fullbit_length+tail_length
if fullbit_length%6 == 0:
for i in range(1,fullbit_length+1,6):
bit = fullbit[2:7] if i == 1 else fullbit[i:i+6]
index = int(str(bit),2)
basestr += alphabet[index]
else:
print('error')
if (fullbit_length//6)%4 != 0:
space = 4 - (fullbit_length//6)%4
else:
space = 0
basestr +&#
实用:python自我实现base64编码的打印
最新推荐文章于 2024-08-11 12:00:00 发布
本文介绍了如何使用Python语言实现Base64编码的过程,通过实例展示了编码操作,并提供了变形案例的应用,帮助读者深入理解Base64编码原理。
摘要由CSDN通过智能技术生成