У меня возникли проблемы с декодированием японского сообщения, окончательный вывод выглядит как мусорное значение.
Кодированное для печати ISO-2022-JP цитируемое печатное сообщение:
"=82 = B1 = 82 = ЕА = 82 = CD = 92P = 82 = С8 = 82 = Е9 = 83е = 83X = 83g = 82 = С5 = 82 = В7 = 82 = DD = 82 = С8 = 82 = В3 = \ г\ n = 82 = F1 = 81A = 82 = B1 = 82 = F1 = 82 = C9 = 82 = BF = 82 = CD "
Код для декодирования Цитируемый Версия для печати:
private static string Decode(string input, string bodycharset)
{
var i = 0;
var output = new List<byte>();
while (i < input.Length)
{
if (input[i] == '=' && input[i + 1] == '\r' && input[i + 2] == '\n')
{
//Skip
i += 3;
}
else if (input[i] == '=')
{
string sHex = input;
sHex = sHex.Substring(i + 1, 2);
int hex = Convert.ToInt32(sHex, 16);
byte b = Convert.ToByte(hex);
output.Add(b);
i += 3;
}
else
{
output.Add((byte)input[i]);
i++;
}
}
if (String.IsNullOrEmpty(bodycharset))
return Encoding.UTF8.GetString(output.ToArray());
else
return Encoding.GetEncoding(bodycharset).GetString(output.ToArray());
}
Окончательный вывод :
・ア・・・ヘ・P・ネ・・・e・X・g・ナ・キ・ン・ネ・ウ・・・A・ア・・・ノ・ソ・ヘ
Есть какие-нибудь идеи для его решения ?.