utf8 unidades una texto secuencia representa example como codigo codificar caracteres acentos c# .net unicode utf-8 character-encoding

example - representa texto como una secuencia de unidades de codigo utf-16 c#



¿Cómo leer archivos de texto con codificación ANSI y letras que no sean en inglés? (4)

Tengo un archivo que contiene caracteres no ingleses y se guardó en codificación ANSI utilizando una página de códigos que no está en inglés. ¿Cómo puedo leer este archivo en C # y ver el contenido del archivo correctamente?

No funciona

StreamReader sr=new StreamReader(@"C:/APPLICATIONS.xml",Encoding.ASCII); var ags = sr.ReadToEnd(); sr=new StreamReader(@"C:/APPLICATIONS.xml",Encoding.UTF8); ags = sr.ReadToEnd(); sr=new StreamReader(@"C:/APPLICATIONS.xml",Encoding.Unicode); ags = sr.ReadToEnd();

Trabajando pero necesito saber cuál es la página de códigos de antemano, lo cual no es posible.

sr=new StreamReader(@"C:/APPLICATIONS.xml",Encoding.GetEncoding(1252)); ags = sr.ReadToEnd();


Obtiene los caracteres de interrogación y diamante cuando su archivo de texto utiliza una codificación ANSI alta, lo que significa que utiliza caracteres entre 127 y 255. Esos caracteres tienen el octavo (es decir, el más significativo) conjunto de bits. Cuando ASP.NET lee el archivo de texto, asume la codificación UTF-8, y ese bit más significativo tiene un significado especial.

Debe forzar a ASP.NET a interpretar el archivo de texto como una codificación ANSI alta, diciéndole que la página de códigos es 1252:

String textFilePhysicalPath = System.Web.HttpContext.Current.Server.MapPath("~/textfiles/MyInputFile.txt"); String contents = File.ReadAllText(textFilePhysicalPath, System.Text.Encoding.GetEncoding(1252)); lblContents.Text = contents.Replace("/n", "<br />"); // change linebreaks to HTML


Si mal no recuerdo, el método XmlDocument.Load (cadena) siempre asume UTF-8, independientemente de la codificación XML. Debería crear un StreamReader con la codificación correcta y usarlo como parámetro.

xmlDoc.Load(new StreamReader( File.Open("file.xml"), Encoding.GetEncoding("iso-8859-15")));

Me encontré con KB308061 de Microsoft. Hay un pasaje interesante: especifique la declaración de codificación en la sección de declaración XML del documento XML. Por ejemplo, la siguiente declaración indica que el documento está en formato de codificación UTF-16 Unicode:

<?xml version="1.0" encoding="UTF-16"?>

Tenga en cuenta que esta declaración solo especifica el formato de codificación de un documento XML y no modifica ni controla el formato de codificación real de los datos.

Fuente del enlace:

El método XmlDocument.Load () no decodifica € (euro)



using (StreamWriter writer = new StreamWriter(File.Open(@"E:/Sample.txt", FileMode.Append), Encoding.GetEncoding(1250))) ////File.Create(path) { writer.Write("Sample Text"); }