505 private protected set
523 [
Obsolete(
"The UTF-7 encoding is insecure and should not be used. Consider using UTF-8 instead.", DiagnosticId =
"SYSLIB0001", UrlFormat =
"https://aka.ms/dotnet-warnings/{0}")]
596 if (encoding !=
null)
645 if (encoding !=
null)
672 if (encoding ==
null || encoding.
CodePage != 65000)
691 return Array.Empty<
byte>();
728 char[]
array =
s.ToCharArray();
834 return Array.Empty<
byte>();
990 return string.CreateStringFromEncoding(
bytes2,
bytes.Length,
this);
1287 else if (encoder !=
null && !encoder.
MustFlush)
1308 while (!
chars.IsEmpty);
1313 if (encoder !=
null)
1461 return originalCharCount -
span.Length;
1485 else if (decoder !=
null && !decoder.
MustFlush)
1504 while (!
bytes.IsEmpty);
1509 if (decoder !=
null)
void CopyTo(KeyValuePair< TKey, TValue >[] array, int index)
static CultureInfo InvariantCulture
static bool EnableUnsafeUTF7Encoding
static Exception ByDesign
static string ArgumentOutOfRange_Range
static string Argument_EncodingConversionOverflowBytes
static string NotSupported_NoCodepageData
static string Argument_ConversionOverflow
static string Argument_EncoderFallbackNotEmpty
static string Encoding_UTF7_Disabled
static string ArgumentOutOfRange_IndexCount
static string Argument_EncodingConversionOverflowChars
static string Format(string resourceFormat, object p1)
static string Argument_CodepageNotSupported
static string ArgumentNull_Array
static string ArgumentNull_String
static string InvalidOperation_ReadOnly
static string ArgumentOutOfRange_NeedNonNegNum
static readonly ASCIIEncodingSealed s_default
unsafe void InternalInitialize(byte *byteStart, char *charEnd)
static DecoderFallbackBuffer CreateAndInitialize(Encoding encoding, DecoderNLS decoder, int originalByteCount)
virtual unsafe bool InternalFallback(byte[] bytes, byte *pBytes, ref char *chars)
unsafe void InternalReset()
static DecoderFallback ReplacementFallback
int DrainLeftoverDataForGetChars(ReadOnlySpan< byte > bytes, Span< char > chars, out int bytesConsumed)
void SetLeftoverData(ReadOnlySpan< byte > bytes)
int DrainLeftoverDataForGetCharCount(ReadOnlySpan< byte > bytes, out int bytesConsumed)
new DecoderFallbackBuffer FallbackBuffer
new DecoderFallback Fallback
bool InternalHasFallbackBuffer
static EncoderFallbackBuffer CreateAndInitialize(Encoding encoding, EncoderNLS encoder, int originalCharCount)
unsafe void InternalInitialize(char *charStart, char *charEnd, EncoderNLS encoder, bool setEncoder)
char InternalGetNextChar()
EncoderFallbackBuffer CreateFallbackBuffer()
static EncoderFallback ReplacementFallback
bool InternalHasFallbackBuffer
new EncoderFallback Fallback
int DrainLeftoverDataForGetByteCount(ReadOnlySpan< char > chars, out int charsConsumed)
bool TryDrainLeftoverDataForGetBytes(ReadOnlySpan< char > chars, Span< byte > bytes, out int charsConsumed, out int bytesWritten)
new EncoderFallbackBuffer FallbackBuffer
static void AddProvider(EncodingProvider provider)
static Encoding GetEncodingFromProvider(int codepage)
static Dictionary< int, EncodingInfo > GetEncodingListFromProviders()
static CodePageDataItem GetCodePageDataItem(int codePage)
static EncodingInfo[] GetEncodings()
static int GetCodePageFromName(string name)
override int GetCharCount(byte[] bytes, int index, int count, bool flush)
unsafe override int GetCharCount(byte *bytes, int count, bool flush)
DefaultDecoder(Encoding encoding)
object GetRealObject(StreamingContext context)
override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex, bool flush)
override int GetCharCount(byte[] bytes, int index, int count)
override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex)
unsafe override int GetChars(byte *bytes, int byteCount, char *chars, int charCount, bool flush)
readonly Encoding _encoding
readonly Encoding _encoding
override int GetByteCount(char[] chars, int index, int count, bool flush)
unsafe override int GetBytes(char *chars, int charCount, byte *bytes, int byteCount, bool flush)
DefaultEncoder(Encoding encoding)
object GetRealObject(StreamingContext context)
override int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex, bool flush)
unsafe override int GetByteCount(char *chars, int count, bool flush)
bool AddByte(byte b1, byte b2, int moreBytesExpected)
unsafe bool AddByte(byte b, int moreBytesExpected)
bool AddByte(byte b1, byte b2)
unsafe readonly byte * _byteEnd
unsafe readonly byte * _byteStart
readonly EncoderNLS _encoder
EncoderFallbackBuffer fallbackBuffer
unsafe char GetNextChar()
unsafe EncodingByteBuffer(Encoding inEncoding, EncoderNLS inEncoder, byte *inByteStart, int inByteCount, char *inCharStart, int inCharCount)
unsafe readonly char * _charStart
unsafe void MovePrevious(bool bThrow)
unsafe readonly char * _charEnd
unsafe readonly char * _charStart
unsafe EncodingCharBuffer(Encoding enc, DecoderNLS decoder, char *charStart, int charCount, byte *byteStart, int byteCount)
unsafe byte GetNextByte()
unsafe readonly byte * _byteEnd
unsafe readonly char * _charEnd
readonly DecoderNLS _decoder
unsafe bool Fallback(byte[] byteBuffer)
unsafe bool AddChar(char ch, int numBytes)
bool Fallback(byte fallbackByte)
readonly DecoderFallbackBuffer _fallbackBuffer
unsafe readonly byte * _byteStart
unsafe void AdjustBytes(int count)
static Encoding BigEndianUnicode
virtual unsafe int GetBytesWithFallback(ReadOnlySpan< char > chars, int originalCharsLength, Span< byte > bytes, int originalBytesLength, EncoderNLS encoder)
virtual bool IsBrowserDisplay
void ThrowCharsOverflow(DecoderNLS decoder, bool nothingDecoded)
unsafe int GetCharsWithFallback(byte *pOriginalBytes, int originalByteCount, char *pOriginalChars, int originalCharCount, int bytesConsumedSoFar, int charsWrittenSoFar, DecoderNLS decoder)
virtual unsafe int GetChars(byte *pBytes, int byteCount, char *pChars, int charCount, DecoderNLS decoder)
EncoderFallback encoderFallback
virtual unsafe int GetBytesFast(char *pChars, int charsLength, byte *pBytes, int bytesLength, out int charsConsumed)
unsafe int GetByteCountWithFallback(char *pCharsOriginal, int originalCharCount, int charsConsumedSoFar)
unsafe int GetCharCountWithFallback(ReadOnlySpan< byte > bytes, int originalBytesLength, DecoderNLS decoder)
static readonly UTF8Encoding.UTF8EncodingSealed s_defaultEncoding
virtual unsafe int GetBytes(ReadOnlySpan< char > chars, Span< byte > bytes)
virtual bool IsSingleByte
Encoding(int codePage, EncoderFallback? encoderFallback, DecoderFallback? decoderFallback)
virtual int WindowsCodePage
static EncodingInfo[] GetEncodings()
bool IsAlwaysNormalized()
virtual unsafe int GetChars(byte *bytes, int byteCount, char *chars, int charCount)
void ThrowBytesOverflow()
virtual ReadOnlySpan< byte > Preamble
static byte[] Convert(Encoding srcEncoding, Encoding dstEncoding, byte[] bytes)
virtual unsafe int GetCharCount(byte *pBytes, int byteCount, DecoderNLS decoder)
unsafe int GetCharCountWithFallback(byte *pOriginalBytes, int originalByteCount, int bytesConsumedSoFar, DecoderNLS decoder)
static Encoding GetEncoding(int codepage)
virtual unsafe int GetByteCountFast(char *pChars, int charsLength, EncoderFallback fallback, out int charsConsumed)
int GetCharCount(byte[] bytes, int index, int count)
virtual bool IsMailNewsDisplay
virtual unsafe int GetCharsWithFallback(ReadOnlySpan< byte > bytes, int originalBytesLength, Span< char > chars, int originalCharsLength, DecoderNLS decoder)
virtual byte[] GetBytes(string s)
virtual unsafe int GetChars(ReadOnlySpan< byte > bytes, Span< char > chars)
int GetMaxCharCount(int byteCount)
void ThrowBytesOverflow(EncoderNLS encoder, bool nothingEncoded)
static void ThrowConversionOverflow()
unsafe int GetBytesWithFallback(char *pOriginalChars, int originalCharCount, byte *pOriginalBytes, int originalByteCount, int charsConsumedSoFar, int bytesWrittenSoFar)
unsafe int GetByteCount(string s, int index, int count)
virtual int GetCharCount(byte[] bytes)
override bool Equals([NotNullWhen(true)] object? value)
static void RegisterProvider(EncodingProvider provider)
virtual unsafe int GetByteCount(ReadOnlySpan< char > chars)
virtual OperationStatus EncodeRune(Rune value, Span< byte > bytes, out int bytesWritten)
unsafe int GetByteCountWithFallback(char *pOriginalChars, int originalCharCount, int charsConsumedSoFar, EncoderNLS encoder)
virtual OperationStatus DecodeFirstRune(ReadOnlySpan< byte > bytes, out Rune value, out int bytesConsumed)
virtual bool IsAlwaysNormalized(NormalizationForm form)
static byte[] Convert(Encoding srcEncoding, Encoding dstEncoding, byte[] bytes, int index, int count)
virtual int GetByteCount(string s)
virtual byte[] GetBytes(char[] chars)
int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex)
DecoderFallback decoderFallback
virtual string EncodingName
virtual unsafe int GetBytes(char *chars, int charCount, byte *bytes, int byteCount)
static Encoding GetEncoding(string name, EncoderFallback encoderFallback, DecoderFallback decoderFallback)
virtual char[] GetChars(byte[] bytes, int index, int count)
unsafe int GetBytesWithFallback(char *pOriginalChars, int originalCharCount, byte *pOriginalBytes, int originalByteCount, int charsConsumedSoFar, int bytesWrittenSoFar, EncoderNLS encoder)
virtual unsafe int GetByteCountWithFallback(ReadOnlySpan< char > chars, int originalCharsLength, EncoderNLS encoder)
void ThrowCharsOverflow()
int GetMaxByteCount(int charCount)
EncoderFallback EncoderFallback
static Encoding GetEncoding(string name)
virtual bool IsMailNewsSave
virtual Decoder GetDecoder()
virtual unsafe int GetCharCount(byte *bytes, int count)
CodePageDataItem _dataItem
virtual string GetString(byte[] bytes, int index, int count)
unsafe int GetCharsWithFallback(byte *pOriginalBytes, int originalByteCount, char *pOriginalChars, int originalCharCount, int bytesConsumedSoFar, int charsWrittenSoFar)
static Encoding BigEndianUTF32
virtual Encoder GetEncoder()
unsafe int GetCharCountWithFallback(byte *pBytesOriginal, int originalByteCount, int bytesConsumedSoFar)
virtual unsafe int GetCharCount(ReadOnlySpan< byte > bytes)
virtual unsafe int GetCharCountFast(byte *pBytes, int bytesLength, DecoderFallback fallback, out int bytesConsumed)
static Encoding GetEncoding(int codepage, EncoderFallback encoderFallback, DecoderFallback decoderFallback)
virtual int GetBytes(string s, int charIndex, int charCount, byte[] bytes, int byteIndex)
virtual void SetDefaultFallbacks()
virtual unsafe int GetCharsFast(byte *pBytes, int bytesLength, char *pChars, int charsLength, out int bytesConsumed)
int GetByteCount(char[] chars, int index, int count)
virtual char[] GetChars(byte[] bytes)
static Encoding FilterDisallowedEncodings(Encoding encoding)
virtual bool TryGetByteCount(Rune value, out int byteCount)
virtual int GetByteCount(char[] chars)
virtual string GetString(byte[] bytes)
virtual bool IsBrowserSave
virtual unsafe int GetBytes(char *pChars, int charCount, byte *pBytes, int byteCount, EncoderNLS encoder)
virtual unsafe int GetByteCount(char *chars, int count)
virtual byte[] GetBytes(char[] chars, int index, int count)
override int GetHashCode()
unsafe string GetString(ReadOnlySpan< byte > bytes)
virtual unsafe int GetByteCount(char *pChars, int charCount, EncoderNLS encoder)
virtual string HeaderName
virtual byte[] GetPreamble()
static Stream CreateTranscodingStream(Stream innerStream, Encoding innerStreamEncoding, Encoding outerStreamEncoding, bool leaveOpen=false)
int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex)
unsafe string GetString(byte *bytes, int byteCount)
unsafe byte[] GetBytes(string s, int index, int count)
static readonly Latin1EncodingSealed s_default
static readonly UTF32Encoding s_bigEndianDefault
static readonly UTF32Encoding s_default
static readonly UTF7Encoding s_default
static readonly UTF8EncodingSealed s_default
static readonly UnicodeEncoding s_littleEndianDefault
static readonly UnicodeEncoding s_bigEndianDefault
static void ThrowArgumentNullException(string name)
static OperationStatus DecodeFromUtf16(ReadOnlySpan< char > source, out Rune result, out int charsConsumed)