private static byte[] Encode(byte[] bytes, Dictionary <byte, BitArray> bitTable) { ByteBuilder byteBuilder = new ByteBuilder(); List <byte> outputBytes = new List <byte>(bytes.Count()); foreach (var inputByte in bytes) { byteBuilder.Append(bitTable[inputByte]); while (byteBuilder.IsByteRedy()) { outputBytes.Add(byteBuilder.GetByte()); } } outputBytes.AddRange(byteBuilder.GetAllBytes()); return(outputBytes.ToArray()); }