如何使用Javascript将任意字节/数据编码为base64格式?
例如,假设我想将一个64位有符号整数编码为base64,我如何(如果可能)在Javascript中实现它 为了澄清,我想对数据的实际位/字节进行编码,而不是对数据的字符串或字符串表示进行编码 也就是说,十进制的整数15等于二进制的0000 1111,这等于base64形式的Dw== 我不想对整数15的字符串表示进行编码。为了进行比较,如果在base64中对字符串“15”进行编码,实际上是对0011 0001 0011 0101进行编码,这将为您提供base64形式的MTU=(这就是如何使用Javascript将任意字节/数据编码为base64格式?,javascript,base64,byte,Javascript,Base64,Byte,例如,假设我想将一个64位有符号整数编码为base64,我如何(如果可能)在Javascript中实现它 为了澄清,我想对数据的实际位/字节进行编码,而不是对数据的字符串或字符串表示进行编码 也就是说,十进制的整数15等于二进制的0000 1111,这等于base64形式的Dw== 我不想对整数15的字符串表示进行编码。为了进行比较,如果在base64中对字符串“15”进行编码,实际上是对0011 0001 0011 0101进行编码,这将为您提供base64形式的MTU=(这就是window.
window.atob()
所做的)。您可以在支持它的浏览器中使用,也可以在您可以使用的其他浏览器中使用
--编辑
您必须自己编写,因为传入“window.btoa”的任何内容都将首先转换为字符串。也许是一个好的开始;尽管Gears已经停止使用,但许多相关功能都在中,它已经。首先转换为字符串,然后使用btoa或其他标准b64编码器之一:
window.btoa(String.fromCharCode(15)); // Dw==
我说的是任意数据,不是字符串。@Oaa啊,好的。然后它变得有点复杂。你为什么要这样做?即,谁将使用您的数据的base64编码版本?需要整数的二进制表示的基本要求是什么?您要求的是“64位”数据。因此,对于8位示例,您的15实际上是
00000000000000000000000000000000000000000000001111
,并将编码为“aaaaaaaaaa 8=”
,而不是“DW=”
。