ОК, поэтому ваш вопрос в основном состоит из двух вопросов в одном. Во-первых, вы должны иметь возможность декодировать quoted-printable. Я предполагаю, что у вас есть закодированный текст в виде строки. Вам нужно будет пропустить эту строку с помощью цикла while, как показано ниже. Я преднамеренно оставил часть, в которой вы превращаете два шестнадцатеричных символа в байты; Я уверен, что вы можете понять это для себя :)
var i = 0;
var output = new List<byte>();
while (i < input.Length)
{
if (input[i] == '=' && input[i+1] == '\r' && input[i+2] == '\n')
{
// skip this
i += 3;
}
else if (input[i] == '=')
{
byte b = (construct the byte from the characters input[i+1] and input[i+2]);
output.Add(b);
i += 3;
}
else
{
output.Add((byte)input[i]);
i++;
}
}
В конце этого output
содержит исходные байты. Теперь все, что вам нужно сделать, это расшифровать его, используя UTF8:
var outputString = Encoding.UTF8.GetString(output.ToArray());
Если у вас есть какие-либо вопросы, пожалуйста, обращайтесь в комментарии. И помните: не копируйте и не используйте код, который вы не понимаете :)
Это домашнее задание? http://www.motobit.com/util/base64-decoder-encoder.asp;) – Nix
Вы должны указать свой вопрос полностью. Термины, которые вы используете, являются неопределенными и нечеткими. – Noldorin
ОК, Добавлен пример. – user390480