python 中的 Base64 编码字节,javascript 中的解码不是 return 原始字节

Base64 encoding bytes in python, decoding in javascript doesn't return the original bytes

我在 python:

中使用 base64 编码的字节
import base64
base64.b64encode(b"\xac\xd1%=\xdd\xe7\x18\x8f\xbcDrz\xa3\x8a\xac\x8dT\x88\t\xcf7\no\xfb\xa2\x97CI\x85\xe4:\xf2/\xd8a\xb5\xd2\x82\xa8\xce\x02Df\xd0?\x06re>\xb0\x94];~\xff\x00cV\xb5\xe3\xe8\xd1\xa0n").decode("utf-8")
# "rNElPd3nGI+8RHJ6o4qsjVSICc83Cm/7opdDSYXkOvIv2GG10oKozgJEZtA/BnJlPrCUXTt+/wBjVrXj6NGgbg=="

但是当我试图将它解码回 javascript 中的字节时:

atob("rNElPd3nGI+8RHJ6o4qsjVSICc83Cm/7opdDSYXkOvIv2GG10oKozgJEZtA/BnJlPrCUXTt+/wBjVrXj6NGgbg==")
// "¬Ñ%=Ýç\x18\x8F¼Drz£\x8A¬\x8DT\x88\tÏ7\noû¢\x97CI\x85ä:ò/ØaµÒ\x82¨Î\x02DfÐ?\x06re>°\x94];~ÿ\x00cVµãèÑ n"

我没有得到原始字节。 我怎样才能用 javascript 解码它并将原始字节作为字符串?

atob 将尝试将字节解码为文本,而不是将字节编码为类似于 Python.

中的 b'...' 的内容

您问:How can I decode it with javascript and get the original bytes as a string?但我相信,您应该只使用字节而不是将其转换为字符串。

所以我尝试了 my base-64 decoding tool。我认为它 returns 的字节数组满足您的要求(因为 ac 确实意味着 172):[172, 209, 37, 61, 221, 231, 24, 143, 188, 68, 114, 122, 163, 138, 172, 141, 84, 136, 9, 207, 55, 10, 111, 251, 162, 151, 67, 73, 133, 228, 58, 242, 47, 216, 97, 181, 210, 130, 168, 206, 2, 68, 102, 208, 63, 6, 114, 101, 62, 176, 148, 93, 59, 126, 255, 0, 99, 86, 181, 227, 232, 209, 160, 110].

在工具中我使用包js-base64对其进行了解码。不过是几年前开发的,不知道现在有没有更好的解决方案。