26 object value =
new object();
36 : this(codePage, codePage)
41 : base(codePage, dataCodePage)
49 return *(ushort*)pByte;
68 char* ptr3 = (
char*)nativeMemory;
69 byte* ptr4 = nativeMemory + 512;
70 byte[]
array =
new byte[512];
76 fixed (
byte* ptr5 = &
array[0])
78 for (
int i = 0; i < 256; i++)
86 ptr4[(int)c] = (
byte)i;
114 fixed (
byte* ptr =
array)
117 char[] array2 =
new char[256];
118 for (
int i = 0; i < 256; i++)
183 array2 =
new char[num2 * 2];
237 array2[num2++] = (char)num3;
254 c = encoder.charLeftOver;
261 if (encoderReplacementFallback !=
null && encoderReplacementFallback.
MaxCharCount == 1)
275 encoderFallbackBuffer = encoder.FallbackBuffer;
281 while ((c2 = ((encoderFallbackBuffer !=
null) ? encoderFallbackBufferHelper.
InternalGetNextChar() :
'\0')) != 0 ||
chars < ptr)
290 if (encoderFallbackBuffer ==
null)
292 encoderFallbackBuffer = ((encoder !=
null) ? encoder.FallbackBuffer : base.EncoderFallback.CreateFallbackBuffer());
313 c = encoder.charLeftOver;
323 if (encoderReplacementFallback !=
null && encoderReplacementFallback.
MaxCharCount == 1)
347 if (b2 == 0 && c2 != 0)
359 encoder.charLeftOver =
'\0';
360 encoder.m_charsUsed = (int)(
chars - ptr3);
362 return (
int)(
bytes - ptr2);
370 encoderFallbackBuffer = encoder.FallbackBuffer;
380 while ((c3 = ((encoderFallbackBuffer !=
null) ? encoderFallbackBufferHelper.
InternalGetNextChar() :
'\0')) != 0 ||
chars < ptr)
388 if (b3 == 0 && c3 != 0)
390 if (encoderFallbackBuffer ==
null)
392 encoderFallbackBuffer = ((encoder !=
null) ? encoder.FallbackBuffer : base.EncoderFallback.CreateFallbackBuffer());
408 if (encoderFallbackBuffer ==
null || !encoderFallbackBufferHelper.
bFallingBack)
420 if (encoderFallbackBuffer !=
null && !encoderFallbackBufferHelper.
bUsedEncoder)
422 encoder.charLeftOver =
'\0';
424 encoder.m_charsUsed = (int)(
chars - ptr3);
426 return (
int)(
bytes - ptr2);
444 if (flag || (decoderReplacementFallback !=
null && decoderReplacementFallback.
MaxCharCount == 1))
451 byte[]
array =
new byte[1];
459 if (decoderFallbackBuffer ==
null)
461 decoderFallbackBuffer = ((decoder !=
null) ? decoder.FallbackBuffer : base.DecoderFallback.CreateFallbackBuffer());
491 if (flag || (decoderReplacementFallback !=
null && decoderReplacementFallback.
MaxCharCount == 1))
493 char c = decoderReplacementFallback?.
DefaultString[0] ??
'?';
527 decoder.m_bytesUsed = (int)(
bytes - ptr2);
529 return (
int)(
chars - ptr3);
532 byte[]
array =
new byte[1];
541 if (decoderFallbackBuffer ==
null)
543 decoderFallbackBuffer = ((decoder !=
null) ? decoder.FallbackBuffer : base.DecoderFallback.CreateFallbackBuffer());
570 decoder.m_bytesUsed = (int)(
bytes - ptr2);
572 return (
int)(
chars - ptr3);
582 if (base.EncoderFallback.MaxCharCount > 1)
584 num *= base.EncoderFallback.MaxCharCount;
586 if (num >
int.MaxValue)
600 if (base.DecoderFallback.MaxCharCount > 1)
602 num *= base.DecoderFallback.MaxCharCount;
604 if (num >
int.MaxValue)
static readonly bool IsLittleEndian
static sbyte ReverseEndianness(sbyte value)
static unsafe void InitBlockUnaligned(void *startAddress, byte value, uint byteCount)
static string NotSupported_NoCodepageData
static string ArgumentOutOfRange_GetCharCountOverflow
static string ArgumentOutOfRange_GetByteCountOverflow
static string Format(string resourceFormat, object p1)
static string ArgumentOutOfRange_NeedNonNegNum
void CheckMemorySection()
int m_firstDataWordOffset
unsafe byte * GetNativeMemory(int iSize)
char[] arrayUnicodeBestFit
static readonly object s_streamLock
static Stream s_codePagesEncodingDataStream
override int MaxCharCount
override int MaxCharCount
void ThrowBytesOverflow()
void ThrowCharsOverflow()
unsafe char * _mapBytesToUnicode
unsafe override int GetByteCount(char *chars, int count, System.Text.EncoderNLS encoder)
static unsafe ushort ReadUInt16(byte *pByte)
override bool IsSingleByte
static object InternalSyncObject
unsafe byte * _mapUnicodeToBytes
override int GetMaxCharCount(int byteCount)
unsafe override int GetChars(byte *bytes, int byteCount, char *chars, int charCount, System.Text.DecoderNLS decoder)
unsafe override int GetBytes(char *chars, int charCount, byte *bytes, int byteCount, System.Text.EncoderNLS encoder)
override int GetMaxByteCount(int charCount)
SBCSCodePageEncoding(int codePage)
unsafe override int GetCharCount(byte *bytes, int count, System.Text.DecoderNLS decoder)
static object s_InternalSyncObject
unsafe SBCSCodePageEncoding(int codePage, int dataCodePage)
unsafe override void ReadBestFitTable()
unsafe override void LoadManagedCodePage()
static int CompareExchange(ref int location1, int value, int comparand)
unsafe bool InternalFallback(byte[] bytes, byte *pBytes, ref char *chars)
unsafe void InternalReset()
unsafe void InternalInitialize(byte *_byteStart, char *_charEnd)
unsafe void InternalInitialize(char *_charStart, char *_charEnd, System.Text.EncoderNLS _encoder, bool _setEncoder)
unsafe void InternalReset()
char InternalGetNextChar()
unsafe bool InternalFallback(char ch, ref char *chars)