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)}"); }