430 {
432 bool flag = false;
433 DecoderReplacementFallback decoderReplacementFallback = null;
434 if (decoder == null)
435 {
436 decoderReplacementFallback = base.DecoderFallback as DecoderReplacementFallback;
437 flag = base.DecoderFallback is InternalDecoderBestFitFallback;
438 }
439 else
440 {
441 decoderReplacementFallback = decoder.Fallback as DecoderReplacementFallback;
442 flag = decoder.Fallback is InternalDecoderBestFitFallback;
443 }
444 if (flag || (decoderReplacementFallback != null && decoderReplacementFallback.MaxCharCount == 1))
445 {
447 }
448 DecoderFallbackBuffer decoderFallbackBuffer = null;
449 DecoderFallbackBufferHelper decoderFallbackBufferHelper = new DecoderFallbackBufferHelper(decoderFallbackBuffer);
451 byte[]
array =
new byte[1];
454 {
457 if (c == '\ufffd')
458 {
459 if (decoderFallbackBuffer == null)
460 {
462 decoderFallbackBufferHelper = new DecoderFallbackBufferHelper(decoderFallbackBuffer);
463 decoderFallbackBufferHelper.InternalInitialize(ptr -
count,
null);
464 }
466 num--;
467 num += decoderFallbackBufferHelper.InternalFallback(
array,
bytes);
468 }
469 }
470 return num;
471 }
void CheckMemorySection()
new DecoderFallbackBuffer FallbackBuffer
DecoderFallback DecoderFallback
unsafe char * _mapBytesToUnicode