Esempio n. 1
0
        public void Utf8ToUtf16AsciiTest()
        {
            var expected = new char[] { (char)0x00, (char)0x7f, (char)0x3f };
            var bytes    = Encoding.UTF8.GetBytes(expected);
            var actual   = Utf8ToUtf16.ToUtf16Enumerable(bytes, 0).ToArray();

            Assert.Equal(expected, actual);
        }
Esempio n. 2
0
        public void Utf8ToUtf16UnsafeBOMTest()
        {
            var expected = new char[] { (char)0xfeff, (char)0x3f };
            var bytes    = Encoding.UTF8.GetBytes(expected);
            var actual   = Utf8ToUtf16.ToUtf16String(bytes, 0, bytes.Length).ToArray();

            Assert.Equal(expected, actual);
        }
Esempio n. 3
0
        public void Utf8ToUtf16U10FFFFTest()
        {
            var expected = new char[] { (char)0xdbc0, (char)0xdc00, (char)0xdbc0, (char)0xdc30, (char)0xdbff, (char)0xdfff };
            var bytes    = Encoding.UTF8.GetBytes(expected);
            var actual   = Utf8ToUtf16.ToUtf16Enumerable(bytes, 0).ToArray();

            Assert.Equal(expected, actual);
        }
        public void UnsafeUtf8ToUtf16()
        {
            var bytes = Encoding.UTF8.GetBytes(new string(Enumerable.Range(0, Length).Select(x => (char)CharacterCode).ToArray()));

            for (int i = 0; i < LoopNum; i++)
            {
                Utf8ToUtf16.ToUtf16String(bytes, 0, Length);
            }
        }
        public void UnsafeUtf8ToUtf16Preallocated()
        {
            var bytes = Encoding.UTF8.GetBytes(new string(Enumerable.Range(0, Length).Select(x => (char)CharacterCode).ToArray()));

            char[] buf = System.Buffers.ArrayPool <char> .Shared.Rent(bytes.Length);

            for (int i = 0; i < LoopNum; i++)
            {
                Utf8ToUtf16.ToUtf16Chars(bytes, 0, bytes.Length, buf, 0);
            }
            System.Buffers.ArrayPool <char> .Shared.Return(buf);
        }