1. 程式人生 > >小白實現base64算法

小白實現base64算法

eba cas val format for enc git dict lag

import string

def enCodeBase64(val):
codeDict = dict(enumerate(string.ascii_uppercase+string.ascii_lowercase+string.digits+‘+/‘,0))
valList = []
binStr = ""
base64List = []
encodeStr = ""

for i in val:
    valList.append(ord(i))

for k in valList:
    binStr += ‘{:08b}‘.format(k)     

for j in range(1,len(binStr)//6+1):
    base64List.append(binStr[j*6-6:j*6])
    print([j*6-6,j*6])

flag = (6-len(binStr)%3)%3
count = ""
if flag:
    count = ‘=‘ if flag > 1 else ‘==‘
    base64List.append(‘{:0<6}‘.format(binStr[j*6:]))

print(base64List)
for tmp in base64List:
    encodeStr += codeDict[int(tmp,base=2)]
return encodeStr+count

val = input(‘>>>‘)
print(enCodeBase64(val))

小白實現base64算法