Reputation: 2736
Trying to compress some data in Python (think API backend) then open and decompress in JS (frontend).
Python
zlib.compress(bytes(json.dumps(["a", "b", "c"]), "utf-8"))
This produces a byte object
b'x\x9c\x8bVJT\xd2QPJ\x02\x11\xc9J\xb1\x00\x1a\x13\x03C'
How do I parse this and decompress this with JavaScript?
Upvotes: 1
Views: 1441
Reputation: 2736
Thanks to @GordonAitchJay for the tip there. Got there in the end.
On the Python side we have
json_object = ["a", "b", "c"]
base64.b64encode(zlib.compress(bytes(json.dumps(json_object), "utf-8"))).decode("ascii")
On the JS side we have
let compressedData = Uint8Array.from(atob(input), (c) => c.charCodeAt(0));
let decompressedData = pako.inflate(compressedData, { to: "string" });
let jsonObject = JSON.parse(decompressedData);
Upvotes: 2