Aquí podría ser tu PUBLICIDAD


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 sarsnake
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 09:12
fuente por usuario Robert Lewis


Aquí podría ser tu PUBLICIDAD