Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Javascript将任意字节/数据编码为base64格式?_Javascript_Base64_Byte - Fatal编程技术网

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

如何使用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.

例如,假设我想将一个64位有符号整数编码为base64,我如何(如果可能)在Javascript中实现它

为了澄清,我想对数据的实际位/字节进行编码,而不是对数据的字符串或字符串表示进行编码

也就是说,十进制的整数15等于二进制的0000 1111,这等于base64形式的Dw==

我不想对整数15的字符串表示进行编码。为了进行比较,如果在base64中对字符串“15”进行编码,实际上是对0011 0001 0011 0101进行编码,这将为您提供base64形式的MTU=(这就是
window.atob()
所做的)。

您可以在支持它的浏览器中使用,也可以在您可以使用的其他浏览器中使用

--编辑


您必须自己编写,因为传入“window.btoa”的任何内容都将首先转换为字符串。也许是一个好的开始;尽管Gears已经停止使用,但许多相关功能都在中,它已经。

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

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

我说的是任意数据,不是字符串。@Oaa啊,好的。然后它变得有点复杂。你为什么要这样做?即,谁将使用您的数据的base64编码版本?需要整数的二进制表示的基本要求是什么?您要求的是“64位”数据。因此,对于8位示例,您的15实际上是
00000000000000000000000000000000000000000000001111
,并将编码为
“aaaaaaaaaa 8=”
,而不是
“DW=”