Tengo un problema al convertir un archivo de texto de ANSI a UTF8 en C#. Intento mostrar los resultados en un navegador.Convirtiendo el problema ANSI en UTF8 C#
Tengo un archivo de texto con muchos caracteres de acento. Está codificado en ANSI, así que tengo que convertirlo a utf8 porque en el navegador aparece el "?" En lugar de los acentos. No importa cómo intenté convertir a UTF8 todavía era un "?". Pero si convierto el archivo de texto en notepad ++ a utf8, los caracteres de acento se mostrarán bien.
aquí es una paz de codificación de código que he hecho:
public string Encode(string text)
{
// encode the string as an ASCII byte array
byte[] myASCIIBytes = ASCIIEncoding.ASCII.GetBytes(text);
// convert the ASCII byte array to a UTF-8 byte array
byte[] myUTF8Bytes = ASCIIEncoding.Convert(ASCIIEncoding.ASCII, UTF8Encoding.UTF8, myASCIIBytes);
// reconstitute a string from the UTF-8 byte array
return UTF8Encoding.UTF8.GetString(myUTF8Bytes);
}
¿Tiene alguna idea de por qué sucede esto?
ASCII es la codificación de 7 bits w/o la página de códigos, como explica Andrei. Si tiene caracteres de acento, no debe usar ASCII. –