【问题标题】:Javascript Equivilant of C# FromBase64StringC# FromBase64String 的 Javascript 等价物
【发布时间】:2018-12-02 16:16:31
【问题描述】:

我正在尝试将 C# 工具转换为需要将 API 密钥转换为 Base64 字节数组的 Javascript。我正在 Postman 中开发它,为我们提供一个小的 API 测试平台。

C#中的函数

"21ZgNVIEm7LUY95FbBHK6bYYHrbKAaZcqTKSpU+jC3MViAZvKcTqIN6sZYMSUsDuPLONCYw57bpbZe/paMWeqg==" 

并使用“FromBase64String”函数一步返回以下内容。

"219 86 96 53 82 4 155 178 212 99 222 69 108 17 202 233 182 24 30 182 202 1 166 92 169 50 146 165 79 163 11 115 21 136 6 111 41 196 234 32 222 172 101 131 18 82 192 238 60 179 141 9 140 57 237 186 91 101 239 233 104 197 158 170"

我一直在寻找等效的 JavaScript 并尝试使用“CryptoJS.enc.Base64.parse”函数的 CryptoJS 库,但它只返回十六进制字符串而不是字节数组。即

'db56603552049bb2d463de456c11cae9b6181eb6ca01a65ca93292a54fa30b731588066f29c4ea20deac65831252c0ee3cb38d098c39edba5b65efe968c59eaa'

有没有办法将输出格式化为字节数组?

提前致谢

【问题讨论】:

    标签: javascript c# api base64


    【解决方案1】:

    当我搜索“来自 base64 的 javascript”时,我在两个不同的搜索引擎上的第一击是:MDN - Base64 encoding and decoding。这指向atobatob 返回一个字符串(因为它早于Uint8Array)。您可以通过Uint8Array.from 轻松地从字符串转换为Uint8Array,如果使用字符串不方便:

    const str = "21ZgNVIEm7LUY95FbBHK6bYYHrbKAaZcqTKSpU+jC3MViAZvKcTqIN6sZYMSUsDuPLONCYw57bpbZe/paMWeqg==";
    const data = atob(str);
    const array = Uint8Array.from(data, b => b.charCodeAt(0));
    console.log(array);

    【讨论】:

      猜你喜欢
      • 2019-11-26
      • 2022-06-20
      • 1970-01-01
      • 2016-08-30
      • 2015-09-27
      • 2017-06-19
      • 2016-11-27
      • 1970-01-01
      • 2010-10-05
      相关资源
      最近更新 更多