Преобразование из UTF8 в ASCII

У меня есть текст, прочитанный из файла XML, хранящегося в кодировке UTF8. C # прекрасно его читает, я проверил с помощью отладчика, но когда я пытаюсь преобразовать его в ASCII, чтобы сохранить в другом файле, я получаю? char в местах, где был противоречивый персонаж. Например, этот текст:

string s = "La introducción masiva de las nuevas tecnologías de la información";

Будет сохранен как

"La introducci?n masiva de las nuevas tecnolog?as de la informaci?n"

Я не могу просто заменить их на их латынь (a, e, i, o, u) гласные, потому что некоторые слова в испанском языке не имеют смысла. Я уже пробовал этот и этот вопросы, но безуспешно. Так что я надеюсь, что кто-нибудь сможет мне помочь. Выбранный ответ во втором даже не компилировался ...!

На случай, если кто-то захочет взглянуть, мой код следующий:

private void WriteInput( string input )
{
   byte[] byteArray = Encoding.UTF8.GetBytes(input);
   byte[] asciiArray = Encoding.Convert(Encoding.UTF8, Encoding.ASCII, byteArray);
   string finalString = Encoding.ASCII.GetString(asciiArray);

   string inputFile = _idFile + ".in";
   var batchWriter = new StreamWriter(inputFile, false, Encoding.ASCII);
   batchWriter.Write(finalString);
   batchWriter.Close();
}

12
задан Community 23 May 2017 в 12:26
поделиться