몇 가지 함수를 이용해 BASE 64 Encoder를 제작했다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | import sys print "\nEncoded String :", rf = open(sys.argv[1], "r") wf = open("Encoded-"+sys.argv[1], "w") lines = rf.readlines() base = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" string = "" sixbit = list() for line in lines: for char in line: value = format(ord(char), 'b') for i in range(8-len(value)) : string += "0" string += value n = len(string)%3 for i in range(6-len(string)%6): string += "0" i=6 for j in range(len(string)/6) : sixbit.append(string[i-6:i]) i+=6 if len(string)%6>0 : sixbit.append(string[i-6:]) for value in sixbit: sys.stdout.write(base[int(value, 2)]) wf.write(base[int(value, 2)]) for i in range(n): sys.stdout.write("=") wf.write("=") print "" rf.close() wf.close() | cs |
'Etc > Converter' 카테고리의 다른 글
Base64. Decoder (0) | 2017.06.29 |
---|---|
Base64. (0) | 2017.02.20 |