关于c#:如何在javascript中编写等效于Convert.ToBase64String()的javascript?

How to write javascript equivalent of Convert.ToBase64String() in javascript?

本问题已经有最佳答案,请猛点这里访问。

我有字节数组,我可以用c_中的convert.tobase64string()方法转换它。我在javascript中编写了类似的方法,如下所示。但结果不同。

C中:

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

在JS中

1
2
3
4
5
6
7
8
    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中成功?


您可以使用这个javascript库


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

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

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

参见:Base64