encode
string = "Q"#此处为需要编码的字符串
old_str = ''
new_str = []
base64_list = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
ret = ''
for i in string:
old_str += bin(ord(i))[2:].rjust(8,'0')
#print(old_str)
for i in range(0,len(old_str),6):
new_str.append(old_str[i:i+6].ljust(6,'0'))
#print(new_str)
for i in new_str:
ret += base64_list[int(i,2)]
if len(string) % 3 == 1:
ret += "=="
elif len(string) % 3 == 2:
ret += "="
print(ret)
decode
d = ""
ret = ""
string = "UQ==".replace("=","")#此处为需要解码的数据
base64_list = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
for i in string:
d += str(bin(base64_list.index(i))[2:]).rjust(6,"0")
for i in range(0,len(d),8):
if 32 <= int(d[i:i+8],2) <= 126:
ret += chr(int(d[i:i+8],2))
print(ret)