首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将base64字符串转换为ArrayBuffer

将base64字符串转换为ArrayBuffer
EN

Stack Overflow用户
提问于 2014-02-15 12:05:49
回答 12查看 249.2K关注 0票数 178

我需要将base64编码字符串转换为ArrayBuffer。base64字符串是用户输入的,它们将从电子邮件中复制和粘贴,所以当页面被加载时它们就不在了。我想在javascript中这样做,如果可能的话,不需要对服务器进行ajax调用。

我觉得这些链接很有趣,但它们帮助了我:

ArrayBuffer到base64编码字符串

这是相反的转换,从ArrayBuffer到base64,而不是相反的。

http://jsperf.com/json-vs-base64/2

这看起来不错,但我不知道如何使用这些代码。

是否有一种简单的(可能是本地的)方法来进行转换?谢谢

EN

回答 12

Stack Overflow用户

发布于 2016-12-12 17:33:09

使用TypedArray.from

代码语言:javascript
运行
复制
Uint8Array.from(atob(base64_string), c => c.charCodeAt(0))

性能要与Goran.it应答的for循环版本进行比较。

票数 119
EN

Stack Overflow用户

发布于 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

使用这些行

代码语言:javascript
运行
复制
var uintArray = Base64Binary.decode(base64_string);  
var byteArray = Base64Binary.decodeArrayBuffer(base64_string); 
票数 45
EN

Stack Overflow用户

发布于 2020-04-09 22:47:34

对于Node.js用户:

代码语言:javascript
运行
复制
const myBuffer = Buffer.from(someBase64String, 'base64');

myBuffer将是缓冲区类型,它是Uint8Array的子类。不幸的是,Uint8Array不是OP所要求的ArrayBuffer。但在操作ArrayBuffer时,我几乎总是用Uint8Array或类似的东西包装它,因此它应该接近所要求的内容。

票数 42
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21797299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档