Esempio n. 1
0
        public override bool TryEncode(string text, Span <byte> data, out int bytesWritten)
        {
            int consumed;
            var utf16 = text.AsSpan();

            return(Utf8Encoder.TryEncode(utf16, data, out consumed, out bytesWritten));
        }
        public void EncodingPerformanceTestUsingCorefxlab(int charLength, int minCodePoint, int maxCodePoint)
        {
            string unicodeString           = GenerateString(charLength, minCodePoint, maxCodePoint);
            ReadOnlySpan <char> characters = unicodeString.AsSpan();

            int consumed;
            int encodedBytes;

            Assert.True(Utf8Encoder.TryComputeEncodedBytes(characters, out encodedBytes));
            byte[]      utf8Buffer = new byte[encodedBytes];
            Span <byte> span       = new Span <byte>(utf8Buffer);

            foreach (var iteration in Benchmark.Iterations)
            {
                using (iteration.StartMeasurement())
                    if (!Utf8Encoder.TryEncode(characters, span, out consumed, out encodedBytes))
                    {
                        throw new Exception(); // this should not happen
                    }
            }
        }
Esempio n. 3
0
        public override bool TryDecode(ReadOnlySpan <byte> encodedBytes, Span <byte> utf8, out int bytesConsumed, out int bytesWritten)
        {
            var utf16 = encodedBytes.NonPortableCast <byte, char>();

            return(Utf8Encoder.TryEncode(utf16, utf8, out bytesConsumed, out bytesWritten));
        }
Esempio n. 4
0
 public override bool TryEncode(ReadOnlySpan <uint> utf32, Span <byte> data, out int charactersConsumed, out int bytesWritten)
 {
     return(Utf8Encoder.TryEncode(utf32, data, out charactersConsumed, out bytesWritten));
 }
Esempio n. 5
0
 public override bool TryEncode(ReadOnlySpan <uint> utf32, Span <byte> encodedBytes, out int codeUnitsConsumed, out int bytesWritten)
 {
     return(Utf8Encoder.TryEncode(utf32, encodedBytes, out codeUnitsConsumed, out bytesWritten));
 }
Esempio n. 6
0
 public override bool TryEncode(ReadOnlySpan <char> utf16, Span <byte> encodedBytes, out int charactersConsumed, out int bytesWritten)
 {
     return(Utf8Encoder.TryEncode(utf16, encodedBytes, out charactersConsumed, out bytesWritten));
 }