+ public unsafe override int GetByteCount(char* chars, int count);
+ public override int GetByteCount(char[] chars, int index, int count);
+ public override int GetByteCount(string chars);
+ public unsafe override int GetBytes(char* chars, int charCount, byte* bytes, int byteCount);
+ public override int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public override int GetBytes(string chars, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public unsafe override int GetCharCount(byte* bytes, int count);
+ public override int GetCharCount(byte[] bytes, int index, int count);
+ public unsafe override int GetChars(byte* bytes, int byteCount, char* chars, int charCount);
+ public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);
+ public override Decoder GetDecoder();
+ public override Encoder GetEncoder();
+ public override int GetMaxByteCount(int charCount);
+ public override int GetMaxCharCount(int byteCount);
+ public override string GetString(byte[] bytes, int byteIndex, int byteCount);
+ }
+ public sealed class CodePagesEncodingProvider {
+ public static EncodingProvider Instance { get; }
+ }
+ public abstract class Decoder {
+ protected Decoder();
+ public DecoderFallback Fallback { get; set; }
+ public DecoderFallbackBuffer FallbackBuffer { get; }
+ public unsafe virtual void Convert(byte* bytes, int byteCount, char* chars, int charCount, bool flush, out int bytesUsed, out int charsUsed, out bool completed);
+ public virtual void Convert(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex, int charCount, bool flush, out int bytesUsed, out int charsUsed, out bool completed);
+ public unsafe virtual int GetCharCount(byte* bytes, int count, bool flush);
+ public abstract int GetCharCount(byte[] bytes, int index, int count);
+ public virtual int GetCharCount(byte[] bytes, int index, int count, bool flush);
+ public unsafe virtual int GetChars(byte* bytes, int byteCount, char* chars, int charCount, bool flush);
+ public abstract int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);
+ public virtual int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex, bool flush);
+ public virtual void Reset();
+ }
+ public sealed class DecoderExceptionFallback : DecoderFallback {
+ public DecoderExceptionFallback();
+ public override int MaxCharCount { get; }
+ public override DecoderFallbackBuffer CreateFallbackBuffer();
+ public override bool Equals(object value);
+ public override int GetHashCode();
+ }
+ public abstract class DecoderFallback {
+ protected DecoderFallback();
+ public static DecoderFallback ExceptionFallback { get; }
+ public abstract int MaxCharCount { get; }
+ public static DecoderFallback ReplacementFallback { get; }
+ public abstract DecoderFallbackBuffer CreateFallbackBuffer();
+ }
+ public abstract class DecoderFallbackBuffer {
+ protected DecoderFallbackBuffer();
+ public abstract int Remaining { get; }
+ public abstract bool Fallback(byte[] bytesUnknown, int index);
+ public abstract char GetNextChar();
+ public abstract bool MovePrevious();
+ public virtual void Reset();
+ }
+ public sealed class DecoderFallbackException : ArgumentException {
+ public DecoderFallbackException();
+ public DecoderFallbackException(string message);
+ public DecoderFallbackException(string message, byte[] bytesUnknown, int index);
+ public DecoderFallbackException(string message, Exception innerException);
+ public byte[] BytesUnknown { get; }
+ public int Index { get; }
+ }
+ public sealed class DecoderReplacementFallback : DecoderFallback {
+ public DecoderReplacementFallback();
+ public DecoderReplacementFallback(string replacement);
+ public string DefaultString { get; }
+ public override int MaxCharCount { get; }
+ public override DecoderFallbackBuffer CreateFallbackBuffer();
+ public override bool Equals(object value);
+ public override int GetHashCode();
+ }
+ public abstract class Encoder {
+ protected Encoder();
+ public EncoderFallback Fallback { get; set; }
+ public EncoderFallbackBuffer FallbackBuffer { get; }
+ public unsafe virtual void Convert(char* chars, int charCount, byte* bytes, int byteCount, bool flush, out int charsUsed, out int bytesUsed, out bool completed);
+ public virtual void Convert(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex, int byteCount, bool flush, out int charsUsed, out int bytesUsed, out bool completed);
+ public unsafe virtual int GetByteCount(char* chars, int count, bool flush);
+ public abstract int GetByteCount(char[] chars, int index, int count, bool flush);
+ public unsafe virtual int GetBytes(char* chars, int charCount, byte* bytes, int byteCount, bool flush);
+ public abstract int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex, bool flush);
+ public virtual void Reset();
+ }
+ public sealed class EncoderExceptionFallback : EncoderFallback {
+ public EncoderExceptionFallback();
+ public override int MaxCharCount { get; }
+ public override EncoderFallbackBuffer CreateFallbackBuffer();
+ public override bool Equals(object value);
+ public override int GetHashCode();
+ }
+ public abstract class EncoderFallback {
+ protected EncoderFallback();
+ public static EncoderFallback ExceptionFallback { get; }
+ public abstract int MaxCharCount { get; }
+ public static EncoderFallback ReplacementFallback { get; }
+ public abstract EncoderFallbackBuffer CreateFallbackBuffer();
+ }
+ public abstract class EncoderFallbackBuffer {
+ protected EncoderFallbackBuffer();
+ public abstract int Remaining { get; }
+ public abstract bool Fallback(char charUnknownHigh, char charUnknownLow, int index);
+ public abstract bool Fallback(char charUnknown, int index);
+ public abstract char GetNextChar();
+ public abstract bool MovePrevious();
+ public virtual void Reset();
+ }
+ public sealed class EncoderFallbackException : ArgumentException {
+ public EncoderFallbackException();
+ public EncoderFallbackException(string message);
+ public EncoderFallbackException(string message, Exception innerException);
+ public char CharUnknown { get; }
+ public char CharUnknownHigh { get; }
+ public char CharUnknownLow { get; }
+ public int Index { get; }
+ public bool IsUnknownSurrogate();
+ }
+ public sealed class EncoderReplacementFallback : EncoderFallback {
+ public EncoderReplacementFallback();
+ public EncoderReplacementFallback(string replacement);
+ public string DefaultString { get; }
+ public override int MaxCharCount { get; }
+ public override EncoderFallbackBuffer CreateFallbackBuffer();