본문 바로가기

Etc/Converter

Base64. Encoder

 몇 가지 함수를 이용해 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
 
= 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