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

◆ EncodeUtf8()

virtual OperationStatus System.Text.Encodings.Web.TextEncoder.EncodeUtf8 ( ReadOnlySpan< byte > utf8Source,
Span< byte > utf8Destination,
out int bytesConsumed,
out int bytesWritten,
bool isFinalBlock = true )
inlinevirtualinherited

Definition at line 156 of file TextEncoder.cs.

157 {
158 ReadOnlySpan<byte> utf8Text = utf8Source;
159 if (utf8Destination.Length < utf8Source.Length)
160 {
161 utf8Text = utf8Source.Slice(0, utf8Destination.Length);
162 }
163 int num = FindFirstCharacterToEncodeUtf8(utf8Text);
164 if (num < 0)
165 {
166 num = utf8Text.Length;
167 }
168 utf8Source.Slice(0, num).CopyTo(utf8Destination);
169 if (num == utf8Source.Length)
170 {
171 bytesConsumed = utf8Source.Length;
172 bytesWritten = utf8Source.Length;
173 return OperationStatus.Done;
174 }
175 int bytesConsumed2;
176 int bytesWritten2;
177 OperationStatus result = EncodeUtf8Core(utf8Source.Slice(num), utf8Destination.Slice(num), out bytesConsumed2, out bytesWritten2, isFinalBlock);
178 bytesConsumed = num + bytesConsumed2;
179 bytesWritten = num + bytesWritten2;
180 return result;
181 }
virtual OperationStatus EncodeUtf8Core(ReadOnlySpan< byte > utf8Source, Span< byte > utf8Destination, out int bytesConsumed, out int bytesWritten, bool isFinalBlock)
virtual int FindFirstCharacterToEncodeUtf8(ReadOnlySpan< byte > utf8Text)
ReadOnlySpan< T > Slice(int start)
Span< T > Slice(int start)
Definition Span.cs:271
int Length
Definition Span.cs:70

References System.Text.Encodings.Web.TextEncoder.EncodeUtf8Core(), System.Text.Encodings.Web.TextEncoder.FindFirstCharacterToEncodeUtf8(), System.ReadOnlySpan< T >.Length, System.Span< T >.Length, System.ReadOnlySpan< T >.Slice(), and System.Span< T >.Slice().

Referenced by System.Text.Json.JsonWriterHelper.EscapeString().