【发布时间】:2018-07-19 12:02:27
【问题描述】:
我正在尝试将二进制数据转换为这样的字符串:
var string = new TextDecoder("utf-8").decode(Uint8Array.from([1, 2, 3]));
当我在 Firefox 中查找 string 返回的变量时,它显示了预期的字符串 "\u0001\u0002\u0003"
虽然当我在 Chrome 中执行相同操作时,string 返回一个空字符串 ""
有人可以解释一下,这是怎么回事吗?
【问题讨论】:
-
Chrome 尝试在控制台中“显示”输出字符串中的值。在 chrome 中尝试
JSON.stringify(new TextDecoder("utf-8").decode(Uint8Array.from([1, 2, 3])))。 -
在 Chrome 67 上,我得到一个由 3 个不可打印字符组成的字符串,呈现为空方块。该字符串由正确的 unocode 代码点组成,如
Array.from({length: string.length}, (v, k) => k).map ( idx => string.codePointAt(idx) );所示
标签: javascript google-chrome firefox uint8array