Tengo una lectura de texto de un archivo XML almacenado en codificación UTF8. C# lo lee perfectamente, lo consulté con el depurador, pero cuando intento convertirlo a ASCII para guardarlo en otro archivo, ¿me sale un? char en lugares donde había un personaje conflictivo. Por ejemplo, este texto:Conversión de UTF8 a ASCII
string s = "La introducción masiva de las nuevas tecnologías de la información";
se guardará como
"La introducci?n masiva de las nuevas tecnolog?as de la informaci?n"
No puedo reemplazarlos por su latino (a, e, i, o, u) las vocales porque algunas palabras en español haría Echa de menos el sentido. Ya he intentado this y this preguntas sin éxito. Así que espero que alguien pueda ayudarme. ¡La respuesta seleccionada en el segundo ni siquiera compiló ...!
En caso de que alguien quiere echar un vistazo, mi código es éste:
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();
}
Probado con este, pero cambia ó por o, á por a. etc ... –
@David: funciona perfectamente para mí, usando el caso de prueba anterior. Asegúrese de no tener una codificación ASCII (Encoding.ASCII) pegada en su código en alguna parte. –
¡Perdón por eso! probado de nuevo y funciona como un encanto ... Ahora sé por qué tienes 18.3K rep !!! ;) –