BaseNcoding.Base4096.Encode C# (CSharp) Метод

Encode() публичный Метод

public Encode ( byte data ) : string
data byte
Результат string
        public override string Encode(byte[] data)
        {
            int dataLength = data.Length;
            StringBuilder result = new StringBuilder((dataLength + 2) / 3 * 2 + 1);

            int i;
            int x1, x2, x3;
            int length3 = (dataLength / 3) * 3;
            for (i = 0; i < length3; i += 3)
            {
                x1 = data[i];
                x2 = data[i + 1];
                x3 = data[i + 2];

                result.Append(Alphabet[x1 | ((x2 & 0x0F) << 8)]);
                result.Append(Alphabet[(x2 >> 4) | (x3 << 4)]);
            }

            switch (dataLength - length3)
            {
                case 1:
                    x1 = data[i];

                    result.Append(Alphabet[x1]);
                    result.Append(Special, 2);
                    break;
                case 2:
                    x1 = data[i];
                    x2 = data[i + 1];

                    result.Append(Alphabet[x1 | ((x2 & 0x0F) << 8)]);
                    result.Append(Alphabet[x2 >> 4]);
                    result.Append(Special);
                    break;
            }

            return result.ToString();
        }