我正在尝试在C#应用程序中设置任意(但受支持)编码的DecoderFallback属性。本质上,我想做的是:

ASCIIEncoding ascii = new ASCIIEncoding();
ascii.DecoderFallback = new DecoderExceptionFallback();

我遇到了一个我从未见过的异常(exception):



我无法找到有关如何使用该属性的示例的任何MSDN文档。如果有人能指出我的想法,也许会提出我的用法有什么问题,我将不胜感激。我需要在无法解码一个或多个字节时引发异常,并且不能让它不被注意。

谢谢,
布莱恩

最佳答案

此属性是只读的。您需要使用Encoding.GetEncoding()来使用您的配置创建自己的编码。此方法接收编码,EncoderFallback和DecoderFallback。

var enc = System.Text.Encoding.GetEncoding("ASCII", EncoderFallback.ExceptionFallback, DecoderFallback.ExceptionFallback);

http://msdn.microsoft.com/pt-br/library/89856k4b.aspx

关于c# - 无法设置编码类型的DecoderFallback属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/953328/

10-11 14:47