public void TestFiveByteBlock()
        {
            var block   = new FiveByteBlock("L0l.,");
            var encoded = block.Encode();

            foreach (var b in encoded)
            {
                Console.WriteLine($"value: {b}, char: {Encoding.ASCII.GetChars(new byte [] { b })[0]}");
            }

            string test           = "kjfWERewr23432rfewfsd3434rewqr34few23423erweqr@#$REwrrr";
            var    originalLength = test.Length;
            var    i = 0;

            while (test.Length > 0)
            {
                var b = FiveByteBlock.Parse(test, out test);
                var e = b.Encode();
                i += e.Length;
                foreach (var x in e)
                {
                    Console.Write($"{Encoding.ASCII.GetChars(new byte [] { x })[0]}");
                }

                if (test.Length == 0)
                {
                    Console.WriteLine($"\nPadding: {b.PaddingCount}, Last block count {b.InputCount}, Expected output: {b.ExpectedOutputCount}");
                }
            }

            Console.WriteLine("");
            Console.WriteLine($"Original length: {originalLength} Encoded Length: {i}");
        }
        public void TestFiveByteBlockDecode()
        {
            var test    = "kjfWERewr23432rfewfsd3434rewqr34few23423erweqr@#$REwrrr";
            var encoded = new List <byte>();

            while (test.Length > 0)
            {
                var b = FiveByteBlock.Parse(test, out test);
                encoded.AddRange(b.Encode());
            }

            Console.WriteLine($"Encoded String: {Encoding.ASCII.GetString(encoded.ToArray())}");

            var decoded = FiveByteBlock.Decode(Encoding.ASCII.GetString(encoded.ToArray()));

            Console.WriteLine($"Decoded: {Encoding.ASCII.GetString(decoded)}");
        }