获得过 0 次赞
回答过的问题获得 0 次赞
分享过的文章/案例获得 0 次赞
评论与回复获得 0 次赞
[图片] [图片][图片]我估计问题在这里,当要监听分块返回时,他将返回结果强制为文本了,触发分块监听时,拿文本转到arraybuffer时,直接用的是文本的长度,中文对应的字节就变为一个了,这就解释了,英文和数字没问题,中文就乱码。
RequestTask.onChunkReceived接收utf-8编码的中文字符串异常requestTask.onChunkReceived(res => { let decoder = new TextDecoder('utf-8'); let str = decoder.decode(res.data); // 将ArrayBuffer类型数据解码为字符串类型 console.log(str); }) 服务器返回的数据,每个分片都是'123你好',对应utf-8编码格式为b'123\xe4\xbd\xa0\xe5\xa5\xbd',但是在onChunkReceive中得到的ArrayBuffer是: [图片] 96,125不知道是什么值,调试器里显示报文里的值是正确的: [图片]
2023-03-16