title: Is there a way to compress a string into a smaller string with reversibility?
body: <p>I am trying to transmit strings over the iridium network, and the costs of sending data is pretty large. I am wondering if there is a way to compress a large string, for example:
  <code>
  {"packet":01,"reporting time":1500, "altitude":6500,"latitude":0,"longitude": 0,"ballast":34,"parachute":0}
  </code></p>
  
  <p>into a much smaller string, like:
  <code> f5fk43d2 </code>
  . The process must be reversible, so that the data can be decoded and read on the other end. Is this possible, if so, how would I go about doing this.</p>
  
  <p>I have tried this answer by j.w.r: <a href="https://stackoverflow.com/questions/6299574/shortening-a-string-in-java/6299650#6299650">Shortening a string in Java</a> , however it seems irreversible. It does convert a large string into a smaller one.</p>
  
  <p>The process must result in a string smaller than the original.</p>
  
  <p>Any help is appreciated!</p>