G
Greg Bakken
I am writing a python program that recieves 'compressed and encoded'
strings from another piece of software. I can successfully uncompress
and decode the strings via
import base64, zlib
def getString(s):
s = base64.decodestring(s)
s = zlib.decompress(s, -15)
return s
Now, I want to take a 'readable' text string, and compress and encode
it the same way as the other piece of software. I first tried the
seemingly obvious (but incorrect)
import base64, zlib
def makeString(s):
s = zlib.compress(s, 9)
s = base64.encodestring(s)
return s
I have also tried using the gzip module to do this like
import base64, gzip, StringIO
def makeString(s):
sio = StringIO.StringIO()
gzipper = gzip.GzipFile(mode="wb", fileobj=sio)
gzipper.write(s)
s = base64.encodestring(sio.getvalue())
return s
What I would like to be able to do is take a string s, pass it through
the makeString function, and pass the result through the getString
function, and end up with the original string s back. I have to stick
with the way getString is, so I can handle strings from another
program, so I need to adapt makeString accordingly, but cannot figure
out how.
Greg
strings from another piece of software. I can successfully uncompress
and decode the strings via
import base64, zlib
def getString(s):
s = base64.decodestring(s)
s = zlib.decompress(s, -15)
return s
Now, I want to take a 'readable' text string, and compress and encode
it the same way as the other piece of software. I first tried the
seemingly obvious (but incorrect)
import base64, zlib
def makeString(s):
s = zlib.compress(s, 9)
s = base64.encodestring(s)
return s
I have also tried using the gzip module to do this like
import base64, gzip, StringIO
def makeString(s):
sio = StringIO.StringIO()
gzipper = gzip.GzipFile(mode="wb", fileobj=sio)
gzipper.write(s)
s = base64.encodestring(sio.getvalue())
return s
What I would like to be able to do is take a string s, pass it through
the makeString function, and pass the result through the getString
function, and end up with the original string s back. I have to stick
with the way getString is, so I can handle strings from another
program, so I need to adapt makeString accordingly, but cannot figure
out how.
Greg