如何检测 Node.js 缓冲区中的编码错误
How to detect encoding errors in a Node.js Buffer
我正在将 Node.js 中的文件读入 Buffer
对象,并且我正在使用 Buffer.toString('utf8')
解码 Buffer
的 UTF-8 内容.如果有编码错误,我要报错
toString()
方法通过替换 xFFFD
字符来处理解码错误,我可以通过搜索结果检测到。但是 xFFFD
在输入文件中是一个合法字符,如果 xFFFD
存在并且在输入中正确编码,我不想报告错误。
有什么方法可以区分包含合法编码 xFFFD
字符的 Buffer
和包含编码错误的字符?
问题评论中@eol提出的方案似乎符合要求
我正在将 Node.js 中的文件读入 Buffer
对象,并且我正在使用 Buffer.toString('utf8')
解码 Buffer
的 UTF-8 内容.如果有编码错误,我要报错
toString()
方法通过替换 xFFFD
字符来处理解码错误,我可以通过搜索结果检测到。但是 xFFFD
在输入文件中是一个合法字符,如果 xFFFD
存在并且在输入中正确编码,我不想报告错误。
有什么方法可以区分包含合法编码 xFFFD
字符的 Buffer
和包含编码错误的字符?
问题评论中@eol提出的方案似乎符合要求