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

◆ GetCharsWithFallback() [3/3]

override int System.Text.UTF8Encoding.GetCharsWithFallback ( ReadOnlySpan< byte > bytes,
int originalBytesLength,
Span< char > chars,
int originalCharsLength,
DecoderNLS decoder )
inlinesealedprotectedvirtualinherited

Reimplemented from System.Text.Encoding.

Definition at line 438 of file UTF8Encoding.cs.

439 {
440 if (((decoder == null) ? base.DecoderFallback : decoder.Fallback) is DecoderReplacementFallback { MaxCharCount: 1 } decoderReplacementFallback && decoderReplacementFallback.DefaultString[0] == '\ufffd')
441 {
442 Utf8.ToUtf16(bytes, chars, out var bytesRead, out var charsWritten, replaceInvalidSequences: true, decoder?.MustFlush ?? true);
443 bytes = bytes.Slice(bytesRead);
444 chars = chars.Slice(charsWritten);
445 }
446 if (bytes.IsEmpty)
447 {
448 return originalCharsLength - chars.Length;
449 }
450 return base.GetCharsWithFallback(bytes, originalBytesLength, chars, originalCharsLength, decoder);
451 }
static unsafe OperationStatus ToUtf16(ReadOnlySpan< byte > source, Span< char > destination, out int bytesRead, out int charsWritten, bool replaceInvalidSequences=true, bool isFinalBlock=true)
Definition Utf8.cs:54

References System.bytes, System.chars, System.Text.DecoderReplacementFallback.DefaultString, System.Text.DecoderNLS.Fallback, System.Text.DecoderNLS.MustFlush, and System.Text.Unicode.Utf8.ToUtf16().

Referenced by System.Text.UTF8Encoding.GetCharsCommon().