import json def encode_if_needed(value): if isinstance(value, str): value = value.encode('utf-8') return value def decode_if_needed(value): if isinstance(value, (bytes, bytearray)): value = value.decode('utf-8') return value def serialize_all(key, data): return [encode_if_needed(frame) for frame in (key, json.dumps(data))] def deserialize_all(key, data): return decode_if_needed(key), json.loads(data)