コード例 #1
0
        public static string Decode(byte[] encode)
        {
            string binary = "";

            foreach (var item in encode)
            {
                binary += Convert.ToString(item, 2).PadLeft(8, '0');
            }
            while (binary.Length % 6 != 0)
            {
                binary = "0" + binary;
            }

            var sixPadBitbinaryArray = Enumerable.Range(0, binary.Length / 6).
                                       Select(pos => binary.Substring(pos * 6, 6)
                                              ).ToArray();

            StringBuilder result = new StringBuilder();
            int           count  = 0;

            foreach (var item in sixPadBitbinaryArray)
            {
                string element = Convert.ToInt32(item, 2).ToString("X").PadLeft(2, '0');
                if (element == "00" && count == 0)
                {
                    count++;
                    continue;
                }
                count++;
                result.Append(referenceTable.GetChar(element[0].ToString(), element[1].ToString()));
            }
            return(result.ToString());
        }