我正在尝试读取一个二进制文件,其中我使用BinaryWriter
对象附加数据。我一直收到这个错误:
“输出字符缓冲区太小而无法包含已解码的内容 字符,编码'Unicode(UTF-8)'后备 'System.Text.DecoderReplacementFallback'。“
我的文件中包含|
这样的字符,我怀疑是问题,但我不知道如何解决。
答案 0 :(得分:3)
最可能的原因是您的文件包含一些二进制数据,它们不代表有效的UTF-8代码点,在您尝试读取UTF-8字符的位置。
如果您的读取算法与写入算法失去“同步”并尝试从错误的位置读取字符,而其他地方(不是字符)被写入,则会发生这种情况。