3 """Conversions to/from base64 transport encoding as per RFC-1521."""
9 __all__ = [
"encode",
"decode",
"encodestring",
"decodestring"]
12 MAXBINSIZE = (MAXLINESIZE//4)*3
17 s = input.read(MAXBINSIZE)
19 while len(s) < MAXBINSIZE:
20 ns = input.read(MAXBINSIZE-len(s))
23 line = binascii.b2a_base64(s)
29 line = input.readline()
31 s = binascii.a2b_base64(line)
35 """Encode a string."""
37 for i
in range(0, len(s), MAXBINSIZE):
38 chunk = s[i : i + MAXBINSIZE]
39 pieces.append(binascii.b2a_base64(chunk))
40 return "".
join(pieces)
43 """Decode a string."""
44 return binascii.a2b_base64(s)
47 """Small test program"""
51 except getopt.error, msg:
52 sys.stdout = sys.stderr
54 print """usage: %s [-d|-e|-u|-t] [file|-]
57 -t: encode and decode string 'Aladdin:open sesame'"""%sys.argv[0]
61 if o ==
'-e': func = encode
62 if o ==
'-d': func = decode
63 if o ==
'-u': func = decode
64 if o ==
'-t':
test1();
return
65 if args
and args[0] !=
'-':
66 func(
open(args[0],
'rb'), sys.stdout)
68 func(sys.stdin, sys.stdout)
71 s0 =
"Aladdin:open sesame"
76 if __name__ ==
'__main__':