title: How do you compress a string, and get a string back using zlib?
body: <p>I am trying to utilize Zlib for text compression.</p>
  
  <p>For example I have a string <code>T='blah blah blah blah'</code> I need to compress it for this string. I am using <code>S=zlib.compress(T)</code> to compress it. Now what I want is to get the non-binary form  of <code>S</code> so that I can decompress <code>T</code> but in a different program.</p>
  
  <p>Thanks!</p>
  
  <p>EDIT: I guess I got a method to solve what I wanted. Here is the method:</p>
  
  <pre><code>import zlib, base64
  text = 'STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW '
  code =  base64.b64encode(zlib.compress(text,9))
  print code
  </code></pre>
  
  <p>Which gives:</p>
  
  <pre><code>eNoLDnF09lbwD3MNcvPxD1cIHhxcAE9UKaU=
  </code></pre>
  
  <p>Now I can copy this code to a different program to get the original variable back:</p>
  
  <pre><code>import zlib, base64
  s='eNoLDnF09lbwD3MNcvPxD1cIHhxcAE9UKaU='
  data = zlib.decompress(base64.b64decode(s))
  print data
  </code></pre>
  
  <p><strong>Please suggest if you are aware of any other compression method which would give better results that are consistent with the above code</strong>.</p>