我有 UTF-32 数据,一个数组缓冲区。我需要将其转换为 ECMAScript 字符串。
有人告诉我,我可以将 TextDecoder 与 UTF-8 一起使用,而且它应该“正常工作”,我非常怀疑告诉我这个的人,但它仍然有效。
除了...输出文本充满了空字符(每个字符 3 个),因为将空字节填充读取为空字符,而不是将整个四个字节作为一个字符读取。例如:
\x70\x00\x00\x00
变成
P
UTF-32;空填充被读取为一个字符
P\0\0\0
UTF-8;分开的
根据 whatwg 编码规范,UTF-32 没有定义为要使用的编码标签,而是只有 UTF-8 和 UTF-16,而不是 UTF-32,有没有人对我如何实现正确的有任何建议UTF-32 解码,在浏览器中?
需要明确的是,我关心现代浏览器,所以我不包括 IE、Amaya、Android Webview 和 Netscape Navigator 等。