본문 바로가기

Etc/Converter

Base64. Decoder

 Encoder를 만든 것과 유사히 Decoder를 만들었다.


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
import sys
print "\ndecoded String :",
 
rf = open(sys.argv[1], "r")
wf = open("Decoded-"+sys.argv[1], "w")
lines = rf.readlines()
 
base = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
string = ""
eibit = list()
 
for line in lines:
    for char in line:
        if char != "="
            value = format(base.find(char), 'b')
            for i in range(6-len(value)) : string += "0"
            string += value
 
i=8
for j in range(len(string)/8) :
    eibit.append(string[i-8:i])
    i+=8
 
for bina in eibit:
    sys.stdout.write(chr(int(bina, 2)))
    wf.write(chr(int(bina, 2)))
print ""
 
rf.close()
wf.close()
cs


'Etc > Converter' 카테고리의 다른 글

Base64. Encoder  (0) 2017.02.23
Base64.  (0) 2017.02.20