解码器(不)完成的条件和结果是什么

时间:2019-02-18 10:10:39

标签: c# .net standard-library decoder

.net标准库包含带有方法Decoder的类Convert

此方法将输入数组中的二进制数据解码为输出数组中的字符数据。它具有一个输出参数completed,用于指示是否使用了所有传入的字节。

该方法记录为如果抛出ArgumentException

  

输出缓冲区太小,无法包含任何转换后的输入。

到目前为止,很好,如果输出缓冲区中没有足够的空间,则completed为假,如果输出缓冲区中根本没有可用空间,则会抛出ArgumentException

但是,例外文档继续说

  

输出缓冲区应大于或等于GetCharCount方法指示的大小。

这让我感到困惑。如果输出缓冲区应该大于或等于GetCharCount方法的大小,那么completed输出参数是否应该始终为true?如果是这样,它有什么用。 (未完成)如何准确发出信号?

0 个答案:

没有答案