public static byte[] Encode(string input)
        {
            if (!referenceTable.IsValidString(input))
            {
                throw new Exception("invalid string. use char from table" + input);
            }
            string eightPadBitbinary = "";

            foreach (var item in input.ToCharArray())
            {
                eightPadBitbinary += hex2binaryWithSixPadding(referenceTable[item]);
            }

            while (eightPadBitbinary.Length % 8 != 0)
            {
                eightPadBitbinary = "0" + eightPadBitbinary;
            }

            var eightPadBitbinaryArray = Enumerable.Range(0, eightPadBitbinary.Length / 8).
                                         Select(pos => Convert.ToByte(eightPadBitbinary.Substring(pos * 8, 8),
                                                                      2)
                                                ).ToArray();

            return(eightPadBitbinaryArray);
        }