Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetCharsWithFallback() [2/3]

unsafe int System.Text.Encoding.GetCharsWithFallback ( byte * pOriginalBytes,
int originalByteCount,
char * pOriginalChars,
int originalCharCount,
int bytesConsumedSoFar,
int charsWrittenSoFar,
DecoderNLS decoder )
inlineprotectedinherited

Definition at line 1443 of file Encoding.cs.

1444 {
1446 Span<char> span = new Span<char>(pOriginalChars, originalCharCount).Slice(charsWrittenSoFar);
1447 int bytesConsumed;
1448 int start;
1449 if (decoder.HasLeftoverData)
1450 {
1451 start = decoder.DrainLeftoverDataForGetChars(readOnlySpan, span, out bytesConsumed);
1453 span = span.Slice(start);
1454 }
1455 start = GetCharsFast((byte*)Unsafe.AsPointer(ref MemoryMarshal.GetReference(readOnlySpan)), readOnlySpan.Length, (char*)Unsafe.AsPointer(ref MemoryMarshal.GetReference(span)), span.Length, out bytesConsumed);
1457 span = span.Slice(start);
1459 if (readOnlySpan.IsEmpty)
1460 {
1461 return originalCharCount - span.Length;
1462 }
1463 return GetCharsWithFallback(readOnlySpan, originalByteCount, span, originalCharCount, decoder);
1464 }
unsafe int GetCharsWithFallback(byte *pOriginalBytes, int originalByteCount, char *pOriginalChars, int originalCharCount, int bytesConsumedSoFar, int charsWrittenSoFar)
Definition Encoding.cs:1438
virtual unsafe int GetCharsFast(byte *pBytes, int bytesLength, char *pChars, int charsLength, out int bytesConsumed)
Definition Encoding.cs:1432

References System.Runtime.Serialization.Dictionary, System.Text.DecoderNLS.DrainLeftoverDataForGetChars(), System.Text.Encoding.GetCharsFast(), System.Text.Encoding.GetCharsWithFallback(), System.Text.DecoderNLS.HasLeftoverData, and System.start.