首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将数组缓冲区转换为字符串?

无法将数组缓冲区转换为字符串?
EN

Stack Overflow用户
提问于 2018-06-13 08:35:29
回答 1查看 75关注 0票数 1

我一直在尝试将数组缓冲区转换为人类可读的字符串,但当我尝试解码数组缓冲区时,它返回的是外部字符。

代码语言:javascript
复制
arrayBuffer = `[18, 32, 121, 49, 72, 220, 122, 210, 56, 86, 171, 17, 36, 81, 52, 151, 102, 70, 216, 254, 207, 175, 161, 253, 216, 30, 99, 35, 30, 121, 226, 96, 86, 94]` 
var readableString = new TextDecoder('utf8').decode(arrayBuffer)

我尝试使用text-encoding包对数组进行解码,但它返回y1H�z�8V�$Q4�fF��ϯ���c#y�`V^。为什么它不能被解码成人类可读的字符串?

EN

回答 1

Stack Overflow用户

发布于 2018-06-13 08:41:47

TextDecoder可能正在查看数字的原始二进制数据,然后将其转换为UTF-8字符串。C/C++具有此行为。如果想要将其转换为人类可读的字符串,可以使用Array.join或类似的方法将其转换为字符串。示例代码:

代码语言:javascript
复制
arrayBuffer = [18, 32, 121, 49, 72, 220, 122, 210, 56, 86, 171, 17, 36, 81, 52, 151, 102, 70, 216, 254, 207, 175, 161, 253, 216, 30, 99, 35, 30, 121, 226, 96, 86, 94];
var readableString = "[" + arrayBuffer.join(", ") + "]";
console.log(readableString)

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

https://stackoverflow.com/questions/50827630

复制
相关文章

相似问题

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