arrayBuffer的XMLHttpRequest响应文本,unicode U+FFFD
XMLHttpRequest responseText to arrayBuffer, unicode U+FFFD
调用的responseText中充满了替换的unicode字符(U+FFFD)�.我无法将responseType设置为arraybuffer。回答responseType可以设置为"arraybuffer"
有没有一种方法可以恢复已转换为字符串的原始二进制文件(原始数据)?
console.log(xhr.responseText); // 'at�'
console.log(xhr.responseText.codePointAt(0)); // '97'
console.log(xhr.responseText.codePointAt(1)); // '116'
console.log(xhr.responseText.codePointAt(2)); // '65533'
1) 当数据被Javascript强制转换为String时,数据是否丢失?
或
2) 数据作为字符串是否安全,但我只是没有找到正确的方法将其解码为二进制/十六进制/十进制?(在这种情况下,数据很好,但打印时只显示替换字符。)
我很难处理同样的问题。我不知道合适的解决方案,但有一件事我可以肯定,当你有这个ufffd字符时,你的数据就不见了,你无法发现它是什么,你肯定应该在这之前解决问题。。。我还使用wireshark来检查我实际接收的数据,并且接收的数据是正确的,所以问题可能发生在XMLHttpRequest对象周围的某个地方!!
这似乎是同一个问题,我回答道:https://stackoverflow.com/a/52110487/7354469
简而言之,
1) 当数据被Javascript强制转换为String时,数据是否丢失?
不仅仅是javascript,很多
Text Decoder
都会导致数据丢失。
2) 数据作为字符串是否安全,但我只是没有找到正确的方法将其解码为二进制/十六进制/十进制?(在这种情况下,数据很好,但打印时只显示替换字符。)
严格来说,数据是不安全的。
但你可以通过一些技巧绕过。(请参阅上面我已经回答的链接。)
此外,这在性能上也不是一个好主意。
相关文章:
- 无法呈现js unicode字符“u1F310”
- 正在将unicode转换为十六进制
- 如何将KSC5601转换为unicode
- Unicode字符未在HTML5画布中正确呈现
- 有更好的方法吗?(递归解析HTML unicode实体)
- Unicode字符串替换不适用于完整的变音符号阿拉伯文本
- 将unicode字符串从django传递到javascript
- 使用Javascript将Json中的unicode转换为HTML
- 如何使用JavaScript在HTML标题中正确插入unicode
- 当Python在Javascript中发送时,值将转换为UNICODE
- Javascript:Unicode符号选择器(用于将数学符号添加到文本区域)
- jquery textcomplete无法使用Unicode字符,并且缺少空格
- JavaScript Unicode Regex - 字符类中的顺序范围
- Javascript 将 unicode 字符串转换为“标题大小写”
- 将 FileReader.readAsBinaryString 转换为 Unicode 转义字符串
- 在 Javascript 中显示 unicode 字符(表情符号)
- 请求返回 unicode 替换字符
- 如何使用python将大量unicode隐藏为char,使其看起来像字符串
- 将文本和html unicode字符添加到textarea元素中
- arrayBuffer的XMLHttpRequest响应文本,unicode U+FFFD