我需要将base64编码字符串转换为ArrayBuffer。base64字符串是用户输入的,它们将从电子邮件中复制和粘贴,所以当页面被加载时它们就不在了。我想在javascript中这样做,如果可能的话,不需要对服务器进行ajax调用。
我觉得这些链接很有趣,但它们帮助了我:
这是相反的转换,从ArrayBuffer到base64,而不是相反的。
http://jsperf.com/json-vs-base64/2
这看起来不错,但我不知道如何使用这些代码。
是否有一种简单的(可能是本地的)方法来进行转换?谢谢
发布于 2016-12-12 17:33:09
Uint8Array.from(atob(base64_string), c => c.charCodeAt(0))
性能要与Goran.it应答的for循环版本进行比较。
发布于 2016-04-02 21:26:09
由于javascript - 解码中的unicode问题,它的答案不起作用。
最后,我使用了Daniel博客上的函数:http://blog.danguer.com/2011/10/24/base64-binary-decoding-in-javascript/
函数列在github链接上:https://github.com/danguer/blog-examples/blob/master/js/base64-binary.js
使用这些行
var uintArray = Base64Binary.decode(base64_string);
var byteArray = Base64Binary.decodeArrayBuffer(base64_string);
发布于 2020-04-09 22:47:34
对于Node.js用户:
const myBuffer = Buffer.from(someBase64String, 'base64');
myBuffer将是缓冲区类型,它是Uint8Array的子类。不幸的是,Uint8Array不是OP所要求的ArrayBuffer。但在操作ArrayBuffer时,我几乎总是用Uint8Array或类似的东西包装它,因此它应该接近所要求的内容。
https://stackoverflow.com/questions/21797299
复制相似问题