如何在javascript中编写等效的Convert.ToBase64String()的javascript代码?

时间:2013-05-15 10:07:45

标签: c# javascript

我有字节数组,我可以用c#中的Convert.ToBase64String()方法转换它。 我在javascript中编写了相当于此方法的内容,如下所示。但结果却不同。

在c#中:

 byte[] data = ...
Convert.ToBase64String(data)

在js

    function GetStringFromByteArray(array) {
        var result = "";
        for (var i = 0; i < array.length; i++) {
            for (var j = 0; j < array[i].length; j++)
                result += String.fromCharCode(array[i][j]);
        }
        return result;
    }

我怎样才能在js中成功?

2 个答案:

答案 0 :(得分:4)

您可以使用this javascript library

答案 1 :(得分:2)

是的,结果是不同的,因为Javascript函数根本不执行base64编码。

base64编码数据每个字符包含6位信息,因此字符代码的8位分布在编码数据中的两个字符上。

要对数据进行编码,您必须将字节中的位重新组合为六个位组,然后您可以将每个组转换为base64字符。

请参阅:Base64