3

我正在尝试读取一个二进制文件,其中我一直在使用BinaryWriter对象附加数据。我不断收到此错误:

“输出字符缓冲区太小,无法包含解码字符,编码 'Unicode (UTF-8)' fallback 'System.Text.DecoderReplacementFallback'。”

我的文件有|我怀疑是问题的字符,但我不知道如何解决它。

4

1 回答 1

4

最可能的原因是您的文件在您尝试读取 UTF-8 字符的位置包含一些不代表有效 UTF-8 代码点的二进制数据。

如果您的读取算法与您的写入算法失去“同步”并尝试从错误的位置读取字符,则可能会发生这种情况,其中写入了其他内容(不是字符)。

于 2013-08-29T12:58:55.003 回答