TryEncodeCodePoint() публичный статический Метод

public static TryEncodeCodePoint ( System.Text.UnicodeCodePoint codePoint, char buffer, int &encodedChars ) : bool
codePoint System.Text.UnicodeCodePoint
buffer char
encodedChars int
Результат bool
Пример #1
0
        public override bool TryEncodeFromUtf8(ReadOnlySpan <byte> utf8, Span <byte> buffer, out int bytesWritten)
        {
            bytesWritten = 0;
            int justWritten;

            foreach (var cp in new Utf8String(utf8).CodePoints)
            {
                if (!Utf16LittleEndianEncoder.TryEncodeCodePoint(cp, buffer.Slice(bytesWritten), out justWritten))
                {
                    bytesWritten = 0;
                    return(false);
                }
                bytesWritten += justWritten;
            }
            return(true);
        }
Пример #2
0
        public override bool TryEncodeFromUnicode(ReadOnlySpan <UnicodeCodePoint> codePoints, Span <byte> buffer, out int bytesWritten)
        {
            var availableBytes           = buffer.Length;
            var inputLength              = codePoints.Length;
            int bytesWrittenForCodePoint = 0;

            bytesWritten = 0;

            for (int i = 0; i < inputLength; i++)
            {
                if (availableBytes <= bytesWritten || !Utf16LittleEndianEncoder.TryEncodeCodePoint(codePoints[i], buffer.Slice(bytesWritten), out bytesWrittenForCodePoint))
                {
                    bytesWritten = 0;
                    return(false);
                }
                bytesWritten += bytesWrittenForCodePoint;
            }

            return(true);
        }