Codificación de archivos al leer un archivo con StreamReader

votos
1

Ahora tengo un problema donde el símbolo Celsius se lee como C en vez de ° C.

Parece que la codificación del culpable. Traté de hacer esto:

            using (StreamReader sr = new StreamReader(this._inFilePath,System.Text.Encoding.Unicode ,true))

en lugar de

            using (StreamReader sr = new StreamReader(this._inFilePath))

pero ahora estoy obteniendo basura ... ¿la codificación del archivo original tiene que coincidir con la codificación de StreamReader? Estoy usando Compact Framework 2.0.

He encontrado esta línea, pero si utilizar este He leído todo en una matriz de bytes, detectar el final de cada línea, lo convierten en Unicode, y luego proceder con una lógica del programa. ¿Alguien usó esta clase?

Publicado el 12/03/2009 a las 21:00
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
2

Sí, necesita especificar la codificación correcta cuando construye su StreamReader. .NET podría detectar la codificación por ti. Hay sobrecargas para el constructor StreamReader que toma un parámetro booleano que puede usar para solicitar este comportamiento.

public StreamReader (ruta de cadena, bool detectEncodingFromByteOrderMarks)

Respondida el 12/03/2009 a las 21:12
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more