如何使用Javascript将任意字节/数据编码为base64格式?

6
例如,假设我想将一个64位有符号整数编码为base64,在Javascript中(如果可能的话)该怎么做?
为了澄清,我想编码实际的位/字节数据,而不是数据的字符串或字符串表示形式。
也就是说,十进制数15等于二进制数0000 1111,等于base64形式下的Dw==。
我不想对整数15的字符串表示进行编码。作为比较,如果您对字符串“15”进行base64编码,实际上要编码0011 0001 0011 0101,这将给出base64形式下的MTU=(这就是window.atob()所做的)。

为什么需要这样做呢?即谁将使用您的数据的base64编码版本?您需要整数的二进制表示的根本要求是什么? - ewh
你要求的是“64位”数据。因此,你的15实际上应该是00000000 00000000 00000000 00000000 00000000 00000000 00000000 00001111,并且编码为"AAAAAAAAAA8=",而不是你8位示例中的"DW==" - user721038
2个回答

3

首先将其转换为字符串,然后使用btoa或其他标准的b64编码器:

window.btoa(String.fromCharCode(15)); // Dw==

2

我说的是任意数据,不是字符串。 - Oaa
啊,好的。那么它就变得更加复杂了。 - robertc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接