1. import base64
  2. import zlib
  3. def encode_api_response(data):
  4. """Encodes API response data for short-lived tasks with limited memory."""
  5. try:
  6. # Compress the data using zlib
  7. compressed_data = zlib.compress(data.encode('utf-8'))
  8. # Encode the compressed data to base64 for easier transmission
  9. encoded_data = base64.b64encode(compressed_data).decode('utf-8')
  10. return encoded_data
  11. except Exception as e:
  12. print(f"Encoding error: {e}")
  13. return None
  14. def decode_api_response(encoded_data):
  15. """Decodes API response data."""
  16. try:
  17. # Decode the base64 encoded data
  18. compressed_data = base64.b64decode(encoded_data.encode('utf-8'))
  19. # Decompress the data using zlib
  20. data = zlib.decompress(compressed_data).decode('utf-8')
  21. return data
  22. except Exception as e:
  23. print(f"Decoding error: {e}")
  24. return None
  25. if __name__ == '__main__':
  26. # Example usage
  27. original_data = "This is a sample API response."
  28. encoded_data = encode_api_response(original_data)
  29. if encoded_data:
  30. print(f"Encoded data: {encoded_data}")
  31. decoded_data = decode_api_response(encoded_data)
  32. if decoded_data:
  33. print(f"Decoded data: {decoded_data}")
  34. assert original_data == decoded_data
  35. else:
  36. print("Decoding failed.")
  37. else:
  38. print("Encoding failed.")

Add your comment