password
查看人数
type
status
date
slug
summary
category
icon
tags
作者
状态
js 对流文件处理
如果msg拼接为
拼接的字符串会出现乱码问题,出现的原因有:
1. TextDecoder默认使用utf-8解码,但响应体可能不是utf-8编码,从而导致解码错误。
2. response.body以流的形式返回,多次read()读取到的chunk需要拼接后再解码,直接解码chunk可能出现错位。
3. JSON.parse解析时,如果解码出错,会直接跳过异常,导致msg带有错误数据。
4. msg的内容来源是AI对话系统的响应,如果响应内容本身存在编码问题也会导致解码错误。
5. msg字符串的拼接方式直接使用+号,如果内容中有中文,可能导致乱码。
建议修改如下:
- 检查response的编码,并传入正确的encoding参数创建TextDecoder。
- 尝试decode后再拼接内容,避免解码错位。
- 在JSON.parse之前先判断内容是否完整的JSON字符串。
- 在拼接msg时转换为数组再join,确保拼接方式正确。
- 给JSON.parse加try catch处理解码错误。
上面的代码才用,在拼接msg时转换为数组再join,问题解决了
有关使用上的问题,欢迎您在底部评论区留言,一起交流~
- 作者:躁静有徒
- 链接:https://blog.zaojingyoutu.top//article/ef4e2cd2-249f-4d8c-a279-0494da9207b4
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章