コード例 #1
0
        public void Test_Decode()
        {
            var expect  = "あいうえお" + Environment.NewLine;
            var encoded = new Wbase59Encoder(new MemoryStream(Encoding.UTF8.GetBytes(expect)), Encoding.UTF8).Encode()
                          .SelectMany(n => n.GetSpan().ToArray()).ToArray();

            var actual = new Wbase59Decoder(new MemoryStream(
                                                Encoding.Convert(new UnicodeEncoding(true, false), Encoding.UTF8, encoded)
                                                ), Encoding.UTF8).Decode();

            Assert.Equal(expect, Encoding.UTF8.GetString(actual.ToArray()));
        }
コード例 #2
0
        public void Test_Encode()
        {
            var bytes = Encoding.UTF8.GetBytes("あいうえお" + Environment.NewLine);

            using var ms = new MemoryStream(bytes);
            var expect = new List <Nabe>();

            foreach (var b in bytes)
            {
                var val = b;
                expect.Add(new Nabe((BaseNabe)(val % 3)));
                do
                {
                    expect.Add(Wbase59.Wbase59.ToNabe(val % 56));
                    val /= 56;
                } while (val >= 56);

                expect.Add(Wbase59.Wbase59.ToNabe(val));
            }

            var actual = new Wbase59Encoder(ms, Encoding.UTF8).Encode();

            Assert.Equal(expect, actual);
        }