zlib and gzip

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Greg Bakken

    zlib and gzip

    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.decodest ring(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.encodest ring(s)
    return s

    I have also tried using the gzip module to do this like

    import base64, gzip, StringIO
    def makeString(s):
    sio = StringIO.String IO()
    gzipper = gzip.GzipFile(m ode="wb", fileobj=sio)
    gzipper.write(s )
    s = base64.encodest ring(sio.getval ue())
    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
Working...