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

◆ TryReadCharacterStringCore() [2/2]

static unsafe bool System.Formats.Asn1.AsnDecoder.TryReadCharacterStringCore ( ReadOnlySpan< byte > source,
Span< char > destination,
Encoding encoding,
out int charsWritten )
inlinestaticprivate

Definition at line 1691 of file AsnDecoder.cs.

1692 {
1693 if (source.Length == 0)
1694 {
1695 charsWritten = 0;
1696 return true;
1697 }
1698 fixed (byte* bytes = &MemoryMarshal.GetReference(source))
1699 {
1700 fixed (char* chars = &MemoryMarshal.GetReference(destination))
1701 {
1702 try
1703 {
1704 int charCount = encoding.GetCharCount(bytes, source.Length);
1705 if (charCount > destination.Length)
1706 {
1707 charsWritten = 0;
1708 return false;
1709 }
1710 charsWritten = encoding.GetChars(bytes, source.Length, chars, destination.Length);
1711 }
1712 catch (DecoderFallbackException inner)
1713 {
1714 throw new AsnContentException(System.SR.ContentException_DefaultMessage, inner);
1715 }
1716 return true;
1717 }
1718 }
1719 }
static string ContentException_DefaultMessage
Definition SR.cs:50
Definition SR.cs:7
virtual int GetCharCount(byte[] bytes)
Definition Encoding.cs:887
virtual char[] GetChars(byte[] bytes)
Definition Encoding.cs:921

References System.bytes, System.charCount, System.chars, System.SR.ContentException_DefaultMessage, System.destination, System.Text.Encoding.GetCharCount(), System.Text.Encoding.GetChars(), and System.source.

Referenced by System.Formats.Asn1.AsnDecoder.TryReadCharacterString(), and System.Formats.Asn1.AsnDecoder.TryReadCharacterStringCore().