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

标签 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 中成功?

最佳答案

是的,结果不一样,因为 Javascript 函数根本不做 base64 编码。

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

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

参见:Base64

关于c# - 如何在 javascript 中编写等效于 Convert.ToBase64String() 的 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16562236/

相关文章:

c# - 将 MySQL 过程调用存储在 .sql 脚本文件中并执行

C# 远程应用程序执行

c# - 从对话框返回值

javascript - AngularJS promise 和局部变量

javascript - 在页面脚本中使用 AngularJS $scope var

javascript - JS - 连续几个 setTimeout?

c# - 从 SQL 数据库动态分配行颜色到 ListView WPF

C#(可能)使用泛型

javascript - 更改 css 子元素导航树

javascript - 为什么这在 ASP.NET 中不起作用?